激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - python爬蟲之利用Selenium+Requests爬取拉勾網

python爬蟲之利用Selenium+Requests爬取拉勾網

2021-10-16 10:20(.+)柳下惠(.+) Python

這篇文章主要介紹了python爬蟲之利用Selenium+Requests爬取拉勾網,文中有非常詳細的代碼示例,對正在學習python爬蟲的小伙伴們有很好的幫助,需要的朋友可以參考下

一、前言

利用selenium+requests訪問頁面爬取拉勾網招聘信息

二、分析url

觀察頁面可知,頁面數據屬于動態加載 所以現在我們通過抓包工具,獲取數據包

python爬蟲之利用Selenium+Requests爬取拉勾網

觀察其url和參數

?
1
2
3
4
5
6
url="https://www.lagou.com/jobs/positionajax.json?px=default&needaddtionalresult=false"
參數:
city=%e5%8c%97%e4%ba%ac  ==》城市
first=true  ==》無用
pn=1  ==》頁數
kd=%e6%95%b0%e6%8d%ae%e5%88%86%e6%9e%90  ==》商品關鍵詞

所以我們要想實現全站爬取,需要有city和頁數

三、獲取所有城市和頁數

我們打開拉勾網,觀察后發現,他的數據并不是完全展示的,比如說 在城市篩選選擇全國 僅僅只顯示30頁 但總頁數是遠遠大于30頁的;我又選擇北京發現是30頁又選擇北京下的海淀區又是30頁,可能我們無法把數據全部的爬取,但我們可以盡可能的將數據多的爬取

python爬蟲之利用Selenium+Requests爬取拉勾網
python爬蟲之利用Selenium+Requests爬取拉勾網

我們為了獲取全站數據,必然離不開的有兩個參數 一個是城市一個是頁數,所以我們利用selenium自動化去獲取所有城市和對應頁數

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
def city_page(self):
    city_page={}
    url="https://www.lagou.com/jobs/allcity.html?keyword=%s&px=default&companynum=0&iscompanyselected=false&labelwords="%(self.keyword)
    self.bro.get(url=url)
    sleep(30)
    print("開始獲取城市及其最大頁數")
    if "驗證系統" in self.bro.page_source:
        sleep(40)
    html = etree.html(self.bro.page_source)
    city_urls = html.xpath('//table[@class="word_list"]//li/input/@value')
    for city_url in city_urls:
        try:
            self.bro.get(city_url)
            if "驗證系統" in self.bro.page_source:
                sleep(40)
            city=self.bro.find_element_by_xpath('//a[@class="current_city current"]').text
            page=self.bro.find_element_by_xpath('//span[@class="span totalnum"]').text
            city_page[city]=page
            sleep(0.5)
        except:
            pass
    self.bro.quit()
    data = json.dumps(city_page)
    with open("city_page.json", 'w', encoding="utf-8")as f:
        f.write(data)
    return city_page

四、生成params參數

我們有了每個城市對應的最大頁數,就可以生成訪問頁面所需的參數

?
1
2
3
4
5
6
7
8
9
10
11
12
13
def params_list(self):
    with open("city_page.json", "r")as f:
        data = json.loads(f.read())
    params_list = []
    for a, b in zip(data.keys(), data.values()):
        for i in range(1, int(b) + 1):
            params = {
                'city': a,
                'pn': i,
                'kd': self.keyword
            }
            params_list.append(params)
    return params_list

五、獲取數據

最后我們可以通過添加請求頭和使用params url來訪問頁面獲取數據

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
def parse_data(self,params):
    url = "https://www.lagou.com/jobs/positionajax.json?needaddtionalresult=false"
    header={
        'referer': 'https://www.lagou.com/jobs/list_%e6%95%b0%e6%8d%ae%e5%88%86%e6%9e%90?labelwords=&fromsearch=true&suginput=',
        'user-agent': 'mozilla/5.0 (windows nt 10.0; win64; x64) applewebkit/537.36 (khtml, like gecko) chrome/89.0.4389.114 safari/537.36',
        'cookie':''
    }
    try:
        text = requests.get(url=url, headers=header, params=params).text
        if "頻繁" in text:
            print("操作頻繁,已被發現 當前為第%d個params"%(i))
        data=json.loads(text)
        result=data["content"]["positionresult"]["result"]
        for res in result:
            with open(".//lagou1.csv", "a",encoding="utf-8") as f:
                writer = csv.dictwriter(f, res.keys())
                writer.writerow(res)
        sleep(1)
    except exception as e:
        print(e)
        pass

六、總結

盡管數據只顯示前30頁,但數據還是未完全獲取

在利用selenium獲取城市最大頁數時 應手動登錄拉勾網,并且其在訪問過程中可能會出現驗證系統需要驗證

利用requests訪問頁面獲取數據時 盡量sleep時間長一點,操作頻繁會封ip

到此這篇關于python爬蟲之利用selenium+requests爬取拉勾網的文章就介紹到這了,更多相關selenium+requests爬取拉勾網內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!

原文鏈接:https://blog.csdn.net/weixin_47163937/article/details/115494265

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 俄罗斯hdxxx| 国产羞羞视频免费在线观看 | 国产在线精品一区二区三区不卡 | 久草手机在线视频 | 激情小说激情图片激情电影 | 激情黄页| 黄色av网站免费 | 成人在线观看免费视频 | 性爱免费在线视频 | 欧美精品国产综合久久 | 免费看搡女人无遮挡的视频 | 久久精品视频一区二区三区 | 一级做a爱片性色毛片 | 第四色成人网 | 一级黄色免费观看 | 1314av| 欧美精品日日鲁夜夜添 | 日韩一级成人 | 国产精品性夜天天视频 | 性aaa| 国产精品爱久久久久久久 | 国产一区二区免费 | 一区二区免费看 | 色网站综合 | 久草导航| 二区三区四区视频 | 国产一国产一级毛片视频 | 久色网站| 精品一区二区三区欧美 | 成人免费毛片明星色大师 | 污视频在线免费播放 | 国产一国产精品一级毛片 | 毛片网站网址 | 国产精品hd免费观看 | 成人偷拍片视频在线观看 | 精品国产91久久久久久久 | 成人福利在线观看 | a网在线| 综合日韩欧美 | a视频在线看 | 性猛aa久久久|