Python基于requests庫(kù)爬取網(wǎng)站信息
requests庫(kù)是一個(gè)簡(jiǎn)介且簡(jiǎn)單的處理HTTP請(qǐng)求的第三方庫(kù)
get()是獲取網(wǎng)頁(yè)最常用的方式,其基本使用方式如下
使用requests庫(kù)獲取HTML頁(yè)面并將其轉(zhuǎn)換成字符串后,需要進(jìn)一步解析HTML頁(yè)面格式,這里我們常用的就是beautifulsoup4庫(kù),用于解析和處理HTML和XML
下面這段代碼便是爬取百度的信息并簡(jiǎn)單輸出百度的界面信息
import requestsfrom bs4 import BeautifulSoupr=requests.get(’http://www.baidu.com’)r.encoding=Noneresult=r.textbs=BeautifulSoup(result,’html.parser’)print(bs.title)print(bs.title.text)
import requestsfrom bs4 import BeautifulSoup#用來解決亂碼現(xiàn)象,所以編寫爬取信息的代碼最好帶上(輸出出現(xiàn)亂碼或者UnicodeEncodeError:’gbk’codec can’t encode character) import io import syssys.stdout = io.TextIOWrapper(sys.stdout.buffer,encoding=’gb18030’)#用來防止反爬取,可以了解一下headers={'User-Agent' : 'Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.1.6)','Accept' : 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8','Accept-Language' : 'en-us','Connection' : 'keep-alive','Accept-Charset' : 'GB2312,utf-8;q=0.7,*;q=0.7'}#獲取51job網(wǎng)站的基本信息r=requests.get(’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=’)r.encoding=r.apparent_encodingresult=r.textbs=BeautifulSoup(result,’html.parser’)print(bs.prettify())u1=bs.find_all(’u1’,attrs={’class’:’item_con_list’}) #這部分代碼便是我們爬取的目標(biāo),51job網(wǎng)站上關(guān)于python職業(yè)的薪資print(len(u1))li=bs.find_all(’span’,attrs={’class’:’t4’})for l in li: print(l.text)
上面這段代碼便是爬取51job網(wǎng)站上的與python相關(guān)職業(yè)的薪資
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. xml創(chuàng)建節(jié)點(diǎn)(根節(jié)點(diǎn)、子節(jié)點(diǎn))2. ASP.NET MVC使用jQuery ui的progressbar實(shí)現(xiàn)進(jìn)度條3. 如何使用CSS3畫出一個(gè)叮當(dāng)貓4. Java Spring5學(xué)習(xí)之JdbcTemplate詳解5. python pandas模糊匹配 讀取Excel后 獲取指定指標(biāo)的操作6. Java synchronized鎖升級(jí)jol過程詳解7. vue el-tree 默認(rèn)展開第一個(gè)節(jié)點(diǎn)的實(shí)現(xiàn)代碼8. python多進(jìn)程執(zhí)行方法apply_async使用說明9. java連接ElasticSearch集群操作10. 簡(jiǎn)述JAVA同步、異步、阻塞和非阻塞之間的區(qū)別
