Python基于requests庫爬取網(wǎng)站信息
requests庫是一個簡介且簡單的處理HTTP請求的第三方庫
get()是獲取網(wǎng)頁最常用的方式,其基本使用方式如下
使用requests庫獲取HTML頁面并將其轉(zhuǎn)換成字符串后,需要進(jìn)一步解析HTML頁面格式,這里我們常用的就是beautifulsoup4庫,用于解析和處理HTML和XML
下面這段代碼便是爬取百度的信息并簡單輸出百度的界面信息
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è)的薪資
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. vue實(shí)現(xiàn)web在線聊天功能2. JavaEE SpringMyBatis是什么? 它和Hibernate的區(qū)別及如何配置MyBatis3. JavaScript實(shí)現(xiàn)頁面動態(tài)驗(yàn)證碼的實(shí)現(xiàn)示例4. Springboot 全局日期格式化處理的實(shí)現(xiàn)5. Java使用Tesseract-Ocr識別數(shù)字6. 完美解決vue 中多個echarts圖表自適應(yīng)的問題7. Python使用urlretrieve實(shí)現(xiàn)直接遠(yuǎn)程下載圖片的示例代碼8. SpringBoot+TestNG單元測試的實(shí)現(xiàn)9. 在Chrome DevTools中調(diào)試JavaScript的實(shí)現(xiàn)10. 解決Android Studio 格式化 Format代碼快捷鍵問題
