爬虫 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 # 写入完成后,关闭文件就大功告成