簡單連續爬
import requests
for i in range(1,11):
urls = ''.format(i)
html = requests.get(urls, headers=headers)
print('*'*20)
print(html.text)
pip install bs4
pip install lxml
四大物件種類:tag
返回的是第乙個復合要求的tag,即使有多個
import requests
from bs4 import beautifulsoup
urls = ''.format(1)
html = requests.get(urls, headers=headers)
soup=beautifulsoup(html.text,'lxml')
print(soup.prettify())
print(soup.title.text)
print(soup.head)
print(soup.a)
soup.find_all可以獲得當前tag的所有tag子節點,並判斷是否復合過濾器的條件
print(type(soup.find_all('a')))
for each in soup.find_all('a'):
print(each)
css選擇器:
css選擇器中:
class----> .
id-------->#
屬性----->[ ]
標籤的css選擇方法:
帶有class屬性的: p.class 或 .class
獲取p.para.tag的所有內部標籤(子孫全部): p.para.tag p
獲取p.para.tag的所有內部標籤(僅子輩全部):p.para.tag>p
帶有id的標籤的css選擇器選擇方法:id是獨有的
#only_tag
在css中div、p的標籤可以省略:
res=soup.select('span.article-title a')
for each in res:
print(type(each))
print(each.text)
也可以:
res=soup.select('.article-summary')
for each in res:
joke=each.select('.article-title')
print(joke[0].text)
獲取標籤屬性:
res=soup.select('span.article-title a')for each in res:
print(each['href']) #或者print(each.get['href'])
python爬蟲反爬 爬蟲怎麼測試反爬?
有沒有反爬,如果你沒有用爬蟲抓取過,你是不可能知道的。就算要測試,你還要嘗試不同的delay。如果設定的 delay 在 的反爬頻率外,那就測不出來。如果在頻率內,那就被封。或者封ip,或者封賬號。如果一定要測出來,就簡單粗暴的方法,你不要設定delay,就不間斷的抓,最後出現兩種情況,1 有反爬,...
Python爬蟲系列
部落格 python,爬蟲 由於近來學 lan 業 ai 繁 fa 忙 zuo 快乙個月沒有更新部落格了。這周完成了兩門課的結課考試,現下時間開始變得充裕。準備梳理一下前段時間學習的關於python爬蟲的內容,權當複習鞏固知識。而初次學習時遇到的疑難雜症,那時候的應對策略是抓大放下,在這梳理過程會下...
Python 爬蟲爬取網頁
工具 python 2.7 import urllib import urllib2 defgetpage url 爬去網頁的方法 request urllib.request url 訪問網頁 reponse urllib2.urlopen request 返回網頁 return response...