亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Python > 正文

3.python開源——scrapy爬蟲獲取周邊新樓盤房源(CSDN)

2019-11-06 07:10:06
字體:
來源:轉載
供稿:網友

目標:

爬出房源的名字、價格、地址和url

需要爬取的數據

import scrapy

class TutorialItem(scrapy.Item):

    # define the fields for your item here like:

    # name = scrapy.Field()

    FANGJIA_ADDRESS = scrapy.Field()  # 住房地址

    FANGJIA_NAME = scrapy.Field()       # 名字

    FANGJIA_PRICE = scrapy.Field()      # 房價

    FANGJIA_URL = scrapy.Field()        # 房源url

目標城市

http://hz.lianjia.com/ 

或者新樓盤:

http://hz.fang.lianjia.com/loupan/nht1/ 

分析網頁源碼

先抓取url,再進入具體網頁抓取想要的數據。

href="http://hz.fang.lianjia.com/" ><span>新房</span>

XPATH抓取上面a  標簽中的href

抓取一個頁面的所有的url集合,遍歷上面的集合,請求具體頁面

fang_links = response.xpath('//div[@class="list-wrap"]/ul[@id="house-lst"]/li/div[@class="pic-panel"]/a/@href').extract()

代碼如下:(PS:類名字使用之前豆瓣,忽視之)

import scrapy

from tutorial.items import TutorialItem

from scrapy.selector import Selector

from scrapy.http import Request

headers = {'User-Agent':'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36'}

class Douban(scrapy.Spider):  

    name = "fangjia"

    allowed_domins = ["http://hz.fang.lianjia.com/"]

    start_urls = []

    def start_requests(self):

        global headers

        urlhead = 'http://hz.fang.lianjia.com/loupan/'

        for i in range(18):

            url = urlhead+'pg%snht1' % i

            self.start_urls.append(url)

        for url in self.start_urls:

            print (url)

            yield scrapy.Request(url, headers=headers, callback=self.parse)

    def parse(self, response):

        global headers

        fang_links = response.xpath('//div[@class="list-wrap"]/ul[@id="house-lst"]/li/div[@class="pic-panel"]/a/@href').extract()

        if fang_links:

            for fang_link in fang_links:

                url = 'http://hz.fang.lianjia.com'+fang_link

                yield scrapy.Request(url, headers=headers, callback=self.parse_fangjia)

    def parse_fangjia(self, response):  

        item = TutorialItem()

        name = response.xpath('//div[@class="name-box"]/a/@title').extract()[0]

        url = response.xpath('//div[@class="name-box"]/a/@href').extract()[0]

        price = response.xpath('//p[@class="jiage"]/span[@class="junjia"]/text()').extract()[0]

        address = response.xpath('//p[@class="where"]/span/@title').extract()[0]

        item['FANGJIA_NAME'] = name

        item['FANGJIA_ADDRESS'] = address

        item['FANGJIA_PRICE'] = price

        item['FANGJIA_URL'] = 'http://hz.fang.lianjia.com'+url

        print (item['FANGJIA_NAME'])

        print (item['FANGJIA_ADDRESS'])

        print (item['FANGJIA_PRICE'])

        print (item['FANGJIA_URL'])

        yield item

爬蟲代碼說明:

allowed_domins 可選。包含了spider允許爬取的域名(domain)列表(list)。

name 定義spider名字的字符串(string)。

start_urls URL列表。當沒有制定特定的URL時,spider將從該列表中開始進行爬取。 因此,第一個被獲取到的頁面的URL將是該列表之一。

start_requests() 該方法必須返回一個可迭代對象(iterable)。該對象包含了spider用于爬取的第一個Request。當spider啟動爬取并且未制定URL時,該方法被調用。 當指定了URL時,make_requests_from_url() 將被調用來創建Request對象。 該方法僅僅會被Scrapy調用一次,因此您可以將其實現為生成器。

該方法的默認實現是使用 start_urls 的url生成Request。

如果您想要修改最初爬取某個網站的Request對象,您可以重寫(override)該方法。

本例中該函數主要是獲取start_urls列。然后每個url都調用parse函數。

for url in self.start_urls:

            print (url)

            yield scrapy.Request(url, headers=headers, callback=self.parse)

parse(response)

當response沒有指定回調函數時,該方法是Scrapy處理下載的response的默認方法。

parse 負責處理response并返回處理的數據以及(/或)跟進的URL。 Spider 對其他的Request的回調函數也有相同的要求。該方法及其他的Request回調函數必須返回一個包含 Request 及(或) Item 的可迭代的對象。

本例中,主要是處理每個URL,拼接URL,然后調用parse_fangjia函數。

parse_fangjia函數

該函數是真實爬取的主函數,從最后拼接的URL中獲取名字、地址、加個和URL,并輸出。

    總體過程小總,首先框架調用由start_requests函數,生成需要爬的初始URL,18個,

然后18次循環,每次循環中每個URL觸發parse函數,將所爬URL中的URL提取出來并拼接形成新的URL組。然后再次循環遍歷新的URL組中URL,調用parse_fangjia函數。

爬蟲

保存成CSV格式

#scrapy crawl ganglia -o ganglia.csv -t csv

Safari顯示網頁源碼:

新版的Safari在菜單欄里看不到“查看網頁源碼”的菜單了

點擊Safari菜單欄,選擇“偏好設置”

在彈出來的窗口中,選擇 “高級”頁簽,勾選 “在菜單欄里顯示開發菜單”

回到要查看源碼的頁面,點擊上方開發菜單


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
狠狠躁夜夜躁久久躁别揉| 91在线免费视频| 亚洲成人网av| 日韩欧美一区视频| 欧美性感美女h网站在线观看免费| 日韩中文字幕在线精品| 国产精品视频在线播放| 国产精品久久久久高潮| 97热在线精品视频在线观看| 热久久免费视频精品| 日韩高清不卡av| 欧美日本中文字幕| 国产精品大陆在线观看| 中文字幕亚洲情99在线| 亚洲第一av网| 久久久久久久久久久成人| 亚洲成人亚洲激情| 97精品久久久中文字幕免费| 91在线观看免费高清完整版在线观看| 亚洲精品资源美女情侣酒店| xvideos成人免费中文版| 一本一本久久a久久精品综合小说| 国产精品日韩专区| 日韩免费不卡av| 国产精品va在线播放| 日韩亚洲一区二区| 久久视频免费在线播放| xxxx性欧美| 国产精品视频白浆免费视频| 日韩中文字幕在线| 亚洲淫片在线视频| 欧美性20hd另类| 久久久精品视频在线观看| 精品亚洲一区二区三区在线播放| 亚洲va欧美va在线观看| 国产精品亚洲综合天堂夜夜| 久久精品久久久久久| 精品久久久久久中文字幕一区奶水| www.亚洲人.com| 亚洲欧美精品伊人久久| 91老司机在线| 免费91麻豆精品国产自产在线观看| 欧美精品激情在线| 亚洲精品456在线播放狼人| 欧美精品videosex牲欧美| 欧美日韩亚洲成人| 久久噜噜噜精品国产亚洲综合| 26uuu国产精品视频| 一本色道久久88精品综合| 欧美大尺度在线观看| 国产精品成人一区| 欧美电影在线观看完整版| 日韩精品极品在线观看| 亚洲人成人99网站| 欧美亚洲激情视频| 日本精品久久久久影院| 日韩精品久久久久久福利| 伊人久久精品视频| 国产精品视频一区二区三区四| 亚洲综合日韩在线| 成人久久一区二区| 亚洲a级在线观看| 国产亚洲欧美视频| 欧美日韩国产成人在线| 国产精品久在线观看| 91a在线视频| 一本色道久久88综合日韩精品| 日韩欧美国产网站| 国内自拍欧美激情| 欧美伦理91i| 国产在线观看不卡| 欧美国产精品人人做人人爱| 欧美日韩精品在线| 国产精品福利网站| 国产综合久久久久| 亚洲成人国产精品| 一本色道久久88精品综合| 久久久久久久久亚洲| 成人信息集中地欧美| 国产日韩专区在线| 国产精品热视频| 2019亚洲日韩新视频| 欧美制服第一页| 国产美女扒开尿口久久久| 欧美激情成人在线视频| 日韩动漫免费观看电视剧高清| 久久99国产精品久久久久久久久| 伊人久久综合97精品| 精品激情国产视频| 精品五月天久久| 55夜色66夜色国产精品视频| 亚洲日韩欧美视频| 欧美wwwwww| 国产精品夜色7777狼人| 欧美香蕉大胸在线视频观看| 97色在线观看| 成人www视频在线观看| 国产精品7m视频| 久久琪琪电影院| 国产a级全部精品| 日韩国产高清污视频在线观看| 成人久久精品视频| 午夜精品理论片| 成人在线视频福利| 日韩精品视频在线| 日本精品在线视频| 欧美性猛交xxxx免费看久久久| 5566日本婷婷色中文字幕97| 欧美在线免费看| 国产精品久久激情| 色香阁99久久精品久久久| 91免费精品视频| 日韩网站免费观看高清| 韩剧1988免费观看全集| 精品久久久香蕉免费精品视频| 久久久免费电影| 亚洲最大福利视频| 在线日韩日本国产亚洲| 欧美一区二区三区精品电影| 亚洲最大成人免费视频| 91社影院在线观看| 亚洲91精品在线| 亚洲欧美日韩国产精品| 亚洲乱码一区av黑人高潮| 久久99热这里只有精品国产| 精品国产乱码久久久久久婷婷| 亚洲精品久久久久久下一站| 亚洲精品成人网| 亚洲视频视频在线| 国产精品午夜国产小视频| 国产精品亚洲一区二区三区| 日韩美女主播视频| 性欧美xxxx视频在线观看| 日韩精品免费在线视频观看| 亚洲欧美激情精品一区二区| 国产91在线播放九色快色| 亚洲亚裔videos黑人hd| 在线观看欧美www| 亚洲欧美日韩综合| 精品日韩视频在线观看| 国产97色在线| 日韩的一区二区| 亚洲成人免费网站| 91欧美视频网站| 91久久在线视频| 欧美老女人性视频| 国产欧美亚洲精品| 亚洲自拍偷拍福利| 亚洲免费伊人电影在线观看av| 一级做a爰片久久毛片美女图片| 欧美有码在线观看视频| 亚洲精品电影网在线观看| 日韩av免费一区| 成人免费高清完整版在线观看| 亚洲国产一区自拍| 97在线视频观看| 久久综合88中文色鬼| 97超碰蝌蚪网人人做人人爽| 国产成人精品日本亚洲| 懂色av中文一区二区三区天美| 欧美午夜片欧美片在线观看| 在线视频欧美日韩| 国产欧美韩国高清| 国产精品久久久久久一区二区|