python学习

Python学习八十二天:URL 字段的解析

2019-05-10  本文已影响4人  暖A暖

1.修改爬取的目标地址

我们知道如果想要爬取网站的数据需要在spiders文件中创建一个蜘蛛,创建后这个蜘蛛中会自动生成一个类,类名也是由蜘蛛名加Spider组成,如上一节中爬去csdn网站生成的:CsdnSpider类,这个类中的name也就是蜘蛛的名称,allowed_domains是允许爬取网站的域名,start_urls是需要爬取的目标网站的网址,如果需要更改爬取的目标页面,只需要修改start_urls就可以了;

import scrapy
class CsdnSpider(scrapy.Spider):
    name = 'csdn'
    allowed_domains = ['www.csdn.net']
    start_urls = ['http://www.csdn.net/']
    def parse(self, response):
        pass

2.解析标题的超链接a标签的跳转地址和标题内容

import scrapy
class CsdnSpider(scrapy.Spider):
    name = 'csdn'
    allowed_domains = ['www.csdn.net']
    start_urls = ['http://www.csdn.net/']

    def parse(self, response):
       urls = response.css('.company_list .company_name a::attr(href)').extract()
       print(urls)
import scrapy
from scrapy.http import Request
from urllib import parse

class CsdnSpider(scrapy.Spider):
    name = 'csdn'
    allowed_domains = ['www.csdn.net']
    start_urls = ['http://www.csdn.net/']

    def parse(self, response):
       # 获取url
       urls = response.css('.company_list .company_name a::attr(href)').extract()
       # print(urls)
      
       # 解析页面
       for url in urls:
           yield Request(url = parse.urljoin(response.url, url), callback=self.parse_analyse, dont_filter=True)

    # 回调函数
    def parse_analyse(self, response):
        title = response.css('.company_list .company_name a::text').extract_first()
        print(title)

3.Request对象的介绍

参考:https://www.9xkd.com/user/plan-view.html?id=8660944990

上一篇下一篇

猜你喜欢

热点阅读