输入关键字 抓取所有网页(【今日头条】我们在右上角的搜索框搜索妹子,出来了)
优采云 发布时间: 2021-10-17 12:34输入关键字 抓取所有网页(【今日头条】我们在右上角的搜索框搜索妹子,出来了)
今日头条
我们以搜索'meizi'为例
然后我们在右上角的搜索框中搜索sister,就出来了一系列的文章。然后我们在右上角的搜索框中搜索sister,出来一串文章 然后我们在右上角的搜索框中搜索sister,就出来了。系列文章
查看网页源代码,发现只是一个短框架
所以猜测这是为了猜测这是为了猜测这是用AJAX技术请求的,然后我们打开XHR查看
果然,就在这里,现在我们正在构建这些JS加载请求。果然,就在这里,现在我们正在构建这些JS加载请求。果然,就在这里,现在我们正在构建这些JS加载请求。
打开这个数据包的包头部分查看 打开这个数据包的包头部分查看 打开这个数据包的包头部分查看
显然,它们之间的偏移是决定翻页。每加20,翻一页。显然偏移量是翻页的决定。每次加20,很明显偏移量就是翻页的决定。每加20,翻一页。
什么是时间戳?什么是时间戳?什么是时间戳?
这个可以用time.time()直接获取,看代码,this可以直接用time.time()获取,看代码,this可以直接用time.time()获取,看代码
下一步是请求,转换成字典,取出需要的内容。下一步是请求,转换成字典,取出需要的内容。
#-*-codeing = utf-8 -*-
#@时间:2020/6/28 13:17
#@作者:问题
#@File:今日头条 crawling.py
#@软件:PyCharm
导入时间
导入json
*敏*感*词*请求
从 urllib.parse 导入 urlencode
def get_data(search_name,page):
data = {#构造请求的数据
'援助':'24',
'app_name':'web_search',
“偏移”:页面,
'格式':'json',
'关键字':搜索名称,
'自动加载':'真',
'计数':'20',
'en_qc':'1',
'cur_tab': '1',
'来自':'search_tab',
'pd':'合成',
'时间戳':int(time.time()),
'_signature': '21oMXgAgEBAwjHnl59qFgNtbTUAAIWq5yRBJSZ83MdD56bgu5GDIJxHd0EHk8Y1-DDSzzYJ-ZlFlTKc5td8NE86Wb3wfbOPr2I-9L7M
}
网址 ='#39; + urlencode(数据)
标题={
'user-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome /83.0.4103.106 Safari/537.36',
'x-requested-with':'XMLHttpRequest'
}
res = requests.get(url=url,headers=header)
返回资源
def find_content(search_name,page):
dic = get_data(search_name,page).json() #转换成json字典
数据 = dic['数据']
如果数据不是无:#如果为空则不启动
对于数据中的项目:
如果项目中的'title':#title
打印(项目['标题'])
别的:
print('没有找到啊啊啊啊')
if'article_url' in item: #文章url
打印(项目['article_url'])
页 = 0
对于范围内的 i(0,9):
find_content('女孩',页面)
页 = 页 + 20
打印(页面,'哈哈哈哈哈哈哈哈哈哈哈哈哈')