学习日记 6.21(周日)
paython 小爬虫 (爬取豆瓣电影TOP250)
import requests
from bs4 import BeautifulSoup
def get_movies():
headers = {"User-Agent":"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.25 Safari/537.36 Core/1.70.3741.400 QQBrowser/10.5.3863.400",
"Host": "movie.douban.com"}
movie_list = []
for i in range(0,10):
link = "https://movie.douban.com/top250? start ="+str(i*25)
r = requests.get(link,headers = headers)
soup = BeautifulSoup(r.text,"lxml")
div_list = soup.find_all("div",class_="hd")
for each in div_list :
movie = each.a.span.text.strip()
movie_list.append(movie)
return movie_list
movies = get_movies()
print(movies)
一晚上学习内容总结(静态网页抓取):
- 学会使用requests库 如:
import requests
r = requests.get("http://www.santostang.com/")
print("文本编码", r.encoding)
print("响应状态码", r.status_code)
print("字符串方式的响应体:", r.text)
``
r.text 是服务器响应的内容 r.encoding 是服务器内容使用的文本编码 r.status_code 适用于检测响应的状态码 ,如果返回200,就表示请求成功;如果返回4XX,则表示客户端错误 ,返回5XX 则表示服务器错误
2.
传递URL参数
import requests
key_dict = {“key1”:“value1”,“key2”:“value2”}
r= requests.get(“http://httpbin.org/get”,params = key_dict)
print(“URL已经正确编码”,r.url)
print(“字符串方式的响应体: \n”,r.text)
3. 定制请求开头
4.发送post请求
5. 超时
可以用timeout =XX(s) 来设置时间,在设置的时间没有应答,就会返回异常