requests爬蟲,發起請求提取內容常用套招-python爬蟲

2020-09-04 鯨魚編程

模塊的導入

import requests

發起請求,獲取響應

response = requests.get(網址,請求頭)

提取響應內容

content = response.content.decode()

使用xpath解析內容

1,導入模塊,創建對象

from lxml import etree

obj = etree.HTML(html內容)

2,使用xpath方法提取內容

_Element對象 = obj.xpath(xpath式子)

列印的效果如下:

<class 'lxml.etree._Element'>

前程無憂python崗位的爬蟲代碼

import requestsfrom lxml import etreeclass WuyouSpider: def __init__(self): """初始化操作""" self.url = "https://search.51job.com/list/000000,000000,0000,00,9,99,python,2,1.html?lang=c&stype=&postchannel=0000&workyear=99&cotype=99°reefrom=99&jobterm=99&companysize=99&providesalary=99&lonlat=0%2C0&radius=-1&ord_field=0&confirmdate=9&fromType=&dibiaoid=0&address=&line=&specialarea=00&from=&welfare=" self.user_agent = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36"} def start(self): """爬蟲程序啟動""" 把提取數據的工作,交給一個方法來處理 job_dict_list = self.get_data(content) 返回運行的結果 return job_dict_list def parse_url(self,url): """ 解析url,發起請求,獲取響應 :param url: 需要請求的網址 :return content: 請求所得到的內容 """ 獲取響應的內容 content = res.content.decode('gbk') return content def get_data(self, content): """ 從內容中提取有效的數據 :return: """ 數據容器,存儲內容 job_dict_list = list() 獲取崗位名稱 name = div.xpath("./p//a/@title")[0] job_url = div.xpath("./p//a/@href")[0] 工作地點 place = div.xpath("./span[2]/text()")[0] 發布日期 pub_date = div.xpath("./span[4]/text()")[0] 把構建好的數據,添加到容器中,就是那個列表 job_dict_list.append(job_info_dict) # 返回數據容器 return job_dict_listwu = WuyouSpider()print(wu)wu.start()

執行效果圖

代碼結構圖

抽取過程圖

相關焦點

  • Python網絡爬蟲與信息提取
    最近在學習Python爬蟲內容,其實很多知識在網上搜索一下都能查到,但是作為自己的一種學習記錄,也是回顧與複習呀。以下內容主要來源於中國大學MOOC--Python網絡爬蟲與信息提取--北京理工大學。僅供個人學習使用。
  • python爬蟲-urllib、urllib2、requests三者關係
    只要人能看到的東西,理論上都是爬蟲可以獲取的。不論靜態頁面還是動態頁面。也不論pc端的頁面還是移動端的app。話有點大,但這就是本系列的目的。爬蟲編程,有很多語言可選,python、php、go、java···甚至是c。這裡我們選擇python作為爬蟲的程式語言,因為它簡單易上手,並且節約生命。
  • Python爬蟲之Requests 庫的介紹和操作實例
    ,伺服器經過解析後發送給用戶瀏覽器結果,包括html,js,css等文件內容,瀏覽器解析出來最後呈現給用戶在瀏覽器上看到的結果所以用戶看到的瀏覽器的結果就是由HTML代碼構成的,我們爬蟲就是為了獲取這些內容
  • Python爬蟲入門(一):三種爬蟲模塊
    ,但是IDEA不提錯這毛病已經大半年了,Eclipse被我卸了,MyEclipse到期了,VScode倒是可以,但是它對jar包的引入比較迷……一言以蔽之就是懶,所以最後還是回到了python。本部分旨在帶領讀者對python用於爬蟲的一系列模塊產生基本的印象,順便了解一下爬蟲的本質。
  • python爬蟲入門(一)網絡爬蟲之規則
    Python爬蟲入門(一)總述本來早就想學習下python爬蟲了,總是找各種藉口,一直拖到現在才開始系統的學習。我用的教程是中國大學MOOC上的由北京理工大學開設的Python網絡爬蟲與信息提取。廢話不多說,直接開始。
  • Python爬蟲第一課:requests的使用
    1、為什麼使用requests模塊,而不是用python自帶的urllibrequests的底層實現就是urllibrequests在python2 和python3中通用,方法完全一樣requests簡單易用requests能夠自動幫助我們解壓
  • Python網絡爬蟲
    所有在網頁能見到的數據都可以通爬蟲程序保存下來。(三):python爬蟲的流程獲取網頁——解析網頁(提取數據)——存儲數據1:獲取網頁:給一個網址發送請求,該網址會返回整個網頁的數據。print(r.text)#獲取網頁內容代碼瀏覽器查看請求頭的方法:在網頁按下滑鼠右鍵——檢查——Network——按下Ctrl+R——點擊與該網頁地址相同的Name——Header——User-Agent(滑到底部即可看到)請求頭的作用:在請求網頁爬取的時候,輸出的text信息中會出現抱歉,無法訪問等字眼,這就是禁止爬取,需要通過反爬機制去解決這個問題。
  • 淺析從技術方面對數據爬蟲的實現方式:python,爬蟲程序利器
    淺析爬蟲技術,獲取數據的一把利器,程式設計師值得擁有。 網際網路上有著無數的網頁,包含著海量的信息,無孔不入、森羅萬象。但很多時候,無論出於數據分析或產品需求,我們需要從某些網站,提取出我們感興趣、有價值的內容,但是縱然是進化到21世紀的人類,依然只有兩隻手,一雙眼,不可能去每一個網頁去點去看,然後再複製粘貼。
  • Python爬蟲程序對比:普通爬蟲vs多線程爬蟲vs 框架爬蟲
    根據標籤提取其中的表情包url地址以及標題就可以了。 2、翻頁爬取以及模擬瀏覽器請求網頁 翻頁多點擊下一頁看一下url地址的變化就可以找到相對應規律了,網站是get請求方式,使用requests請求網頁即可,加上headers請求頭,偽裝瀏覽器請求,如果不加,網站會識別出你是python爬蟲程序請求訪問的,不過對於這個網站,其實加不加都差不多的。
  • 入門Python爬蟲 (1)
    了解計算機行業,可以從python爬蟲入門,目前市場上python相關的計算機崗位很多。Python爬蟲,簡單來說,即通過Python程序獲取對我們有用的數據。requests庫首先,在爬蟲中最常見的代碼便是:import requests即引入requests庫,是一切爬蟲程序的基礎。在Python中,有許多庫可以供我們使用。
  • Python網絡爬蟲之Requests庫的使用(一)
    我們之前介紹了urllib庫的使用,其是作為爬蟲入門工具來介紹的,對新手理解python爬蟲的整個流程很有幫助。在掌握了爬蟲基本思想流程後,就需要引入更高級的工具來提高我們的開發效率,這一節就開始給大家介紹Requests庫的使用。
  • 爬蟲基礎面試題(Python篇)
    從start_urls裡面獲取第一批url發送請求,請求由請求引擎給調度器入請求對列,獲取完畢後,調度器將請求對列交給下載器去獲取請求對應的響應資源,並將響應交給自己編寫的解析方法做提取處理,如果提取出需要的數據,則交給管道處理,如果提取出url,則繼續執行之前的步驟,直到多列裡沒有請求,程序結束。6,寫爬蟲使用多進程好,還是用多線程好?
  • 「爬蟲教程」第二章:requests的使用
    2.1發送GET請求import requests34;http://www.baidu.com& 查看響應內容(已解碼)print(res.content) 查看編碼print(res.status_code) 34;http://www.baidu.com& 指定response對象的編碼為utf
  • 網絡爬蟲——Requests,GET和POST
    一、Requests庫簡介Requests模塊是發起http請求最常見的模塊。Requests自稱「http for Humans」,說明使用更簡潔方便。開源地址:http://github.com/kennethreitz/requests中文文檔API:http://2.python-requests.org/zh_CN/latest/安裝方式:pip install requests二、Requests模塊get請求(一)、網絡請求當客戶端發送一個請求
  • Python爬蟲入門之請求庫的安裝
    請求庫的安裝爬蟲可以簡單地分為幾步:抓取頁面、分析頁面和存儲數據。在抓取頁面的過程中,我們需要模擬瀏覽器向伺服器發出請求,所以需要用到一些python庫來實現HTTP請求操作。在爬蟲的講解過程中,我們將用到的第三方庫有requests、Selenium和aiohttp等。我們將先介紹這些請求庫的方法。requests的安裝由於requests屬於第三方庫,也就是python默認不會自帶這個庫,所以需要我們進行手動安裝。無論是Windows、Linux還是Mac,都可以通過pip這個包管理工具來安裝。
  • Python 爬蟲實戰入門(上)
    依賴第三方庫:requests:一個方便、簡潔、高效且人性化的HTTP請求庫BeautifulSoup:HTML解析庫安裝的話,本身步驟並不是很複雜,我們來看看。官網可以進行下載https://www.python.org/downloads/release/python-365/安裝的時候注意選中把python3.6添加到path,然後點擊Customize installation
  • Python爬蟲技術路線?
    原標題:Python爬蟲技術路線?     對於初學者而言,Python爬蟲的技術路線應該怎麼取捨?     首先展示一下如何用python爬蟲requests庫進行爬取,requests庫是python爬蟲最基礎也必須掌握的庫。
  • 「Python」常用的爬蟲框架及操作庫匯總
    異步:treq – 類似於requests的API(基於twisted)。aiohttp – asyncio的HTTP客戶端/伺服器(PEP-3156)。網絡爬蟲框架功能齊全的爬蟲:grab – 網絡爬蟲框架(基於pycurl/multicur)。
  • python爬蟲學習之路-抓包分析
    利用瀏覽器抓包,是爬蟲中的很實用的技能。在爬蟲編程之前,我們要對抓取的目標頁面有所了解,比如瀏覽器的這個請求這個頁面中間都經歷了什麼,數據是怎麼發送和返回的。抓包的作用我把抓包分析的作用簡單列一下:分析請求的headers等等,可以加載到你的爬蟲中,偽裝成瀏覽器。往往可以躲過簡單的反扒策略登錄狀態獲取,如果我們在瀏覽器中登錄,抓包拿到cookies,加到我們的爬蟲中,往往就可以繞過登錄這道坎,爬蟲直接登堂入室,抓取更有價值的數據post請求,例如頁面中通過post提交的表單。
  • Python 爬蟲實戰(二):使用 requests-html
    Python 爬蟲實戰(二):使用 requests-htmlPython 爬蟲實戰(一):使用 requests 和 BeautifulSoup,我們使用了 requests 做網絡請求,拿到網頁數據再用 BeautifulSoup 解析,就在前不久,requests 作者 kennethreitz