爬虫 1 request模块的运用
1、爬虫获取文本内容
import requests
res=requests.get('https://lvnvl.cn')
#print(res.status_code)
res.encoding = 'utf-8'
novle = res.text
print(novle[:])
2、爬虫获取图片内容(二进制)
import requests
res = requests.get('https://res.pandateacher.com/2018-12-18-10-43-07.png')
novle = res.content
print(novle)
# 打印变量res的数据类型
print(type(res))
3、使用try做筛选,使用offset变量做满足数量后跳出
import requests
# 引用csv
import csv
# 调用open()函数打开csv文件,传入参数:文件名“articles.csv”、写入模式“w”、newline=''。
# 用csv.writer()函数创建一个writer对象。
# 创建一个列表
# 调用writer对象的writerow()方法,可以在csv文件里写入一行文字 “标题”和“链接”和"摘要"。
# 使用headers是一种习惯
headers = {
'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36'}
url = 'https://www.toutiao.com/api/search/content/'
# 设置offset的起始值为10
offset = 10
while True:
# 封装参数
params = {'aid': '24', 'app_name': 'web_search', 'offset': '20', 'format': 'json', 'keyword': '特朗普:',
'autoload': 'true', 'count': '20', 'en_qc': '1',
'cur_tab': '1', 'from': 'search_tab', 'pd': 'synthesis', 'timestamp': '1597805260196',
'_signature': 'dtEYPAAgEBCwhqGxqNBu4nbQWSAACnwFpTASKTMh-7VzDcR4ykquvMXl2F.pPxwChz4GKYLO1cUznXPfka5UP0CD1lz0TY6sU7IVp5.oVpcCMmgAAzVbhyv36kQ0P75E0VA'}
# 发送请求,并把响应内容赋值到变量res里面
res = requests.get(url, headers=headers, params=params)
articles = res.json()
# 定位数据
data = articles['data']
print(articles)
for i in data:
# 把目标数据封装成一个列表
try:
list1 = [i['title'], i["article_url"]]
print(list1)
# 调用writerow()方法,把列表list1的内容写入
# 在while循环内部,offset的值每次增加20
except:
pass
offset = offset + 20
if offset > 70:
break
# 写入完成后,关闭文件就大功告成


