国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看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

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 九九综合九九 | 黄视频在线观看免费 | 日韩精品一区二区三区中文 | 中文字幕一区二区三区四区 | 久久国产精品久久久久久电车 | 成人免费毛片嘿嘿连载视频 | 国产一区二区三区午夜 | 午夜电影福利 | 少妇精品久久久久久久久久 | 高清免费av | 免费午夜电影 | 国产欧美在线观看 | 成人免费网站在线 | 国产精品com | 精品视频在线观看 | 国产精品亚洲一区二区三区在线 | 欧美一区在线观看视频 | 欧美日韩成人在线观看 | 羞羞视频在线 | 国产男女免费视频 | 自拍偷拍专区 | 国内精品三级 | 91嫩草视频在线观看 | 国内成人自拍视频 | 国产成人精品一区二区三区四区 | 精品黄色大片 | 亚洲综合社区 | 一区二区三区四区在线播放 | 日本福利视频 | 91视视频在线观看入口直接观看 | 亚洲一区二区三区在线播放 | 国产99久久精品一区二区永久免费 | 日韩一区二区三区在线播放 | 久久久久久毛片免费播放 | www.you日本| 99在线视频精品 | 一区二区三区视频免费在线观看 | 亚洲国产欧美一区二区三区丁香婷 | 国产精品视频久久久 | 精品久久久久久亚洲综合网 | 日韩精品免费在线视频 |