Python爬蟲 scrapy框架爬取某招聘網(wǎng)存入mongodb解析
創(chuàng)建項目
scrapy startproject zhaoping
創(chuàng)建爬蟲
cd zhaoping scrapy genspider hr zhaopingwang.com
目錄結(jié)構(gòu)

items.py
title = scrapy.Field() position = scrapy.Field() publish_date = scrapy.Field()
pipelines.py
from pymongo import MongoClient
mongoclient = MongoClient(host='192.168.226.150',port=27017)
collection = mongoclient['zhaoping']['hr']
class TencentPipeline(object):
def process_item(self, item, spider):
print(item)
# 需要轉(zhuǎn)換為 dict
collection.insert(dict(item))
return item
spiders/hr.py
def parse(self, response):
# 不要第一個 和最后一個
tr_list = response.xpath("http://table[@class='tablelist']/tr")[1:-1]
for tr in tr_list:
item = TencentItem()
# xpath 從1 開始數(shù)起
item["title"] = tr.xpath("./td[1]/a/text()").extract_first()
item["position"] = tr.xpath("./td[2]/text()").extract_first()
item["publish_date"] = tr.xpath("./td[5]/text()").extract_first()
yield item
next_url = response.xpath("http://a[@id='next']/@href").extract_first()
# 構(gòu)造url
if next_url != "javascript:;":
print(next_url)
next_url = "https://hr.tencent.com/" + next_url
yield scrapy.Request(url=next_url,callback=self.parse,)
就是這么簡單,就獲取到數(shù)據(jù)

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
全網(wǎng)最詳細(xì)的PyCharm+Anaconda的安裝過程圖解
這篇文章主要介紹了全網(wǎng)最詳細(xì)的PyCharm+Anaconda的安裝過程圖解,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-01-01
Python實現(xiàn)代碼統(tǒng)計工具(終極篇)
這篇文章主要介紹了Python實現(xiàn)代碼統(tǒng)計工具的相關(guān)資料,供大家參考,感興趣的小伙伴們可以參考一下2016-07-07
解決pip安裝報錯“error:microsoft visual c++ 14.0&nbs
這篇文章主要介紹了解決pip安裝報錯“error:microsoft visual c++ 14.0 or greater is required”問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-05-05
python makedirs() 遞歸創(chuàng)建目錄
os.makedirs()函數(shù)用于在Python中遞歸地創(chuàng)建目錄,支持設(shè)置權(quán)限和處理目錄已存在的情況,下面就來具體介紹一下,感興趣的可以了解一下2024-12-12
Python ADF 單位根檢驗 如何查看結(jié)果的實現(xiàn)
這篇文章主要介紹了Python ADF 單位根檢驗 如何查看結(jié)果的實現(xiàn),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-06-06
如何將json數(shù)據(jù)轉(zhuǎn)換為python數(shù)據(jù)
這篇文章主要介紹了如何將json數(shù)據(jù)轉(zhuǎn)換為python數(shù)據(jù),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-09-09

