目录
一、思路
1.1输入网址,查看源代码
1.2 F12抓包,寻找数据包。
1.3查看数据包的URL和是否有传递的参数
??1.4编写代码
一、思路
1.1输入网址,查看源代码
?可以看到源代码中没有我们想要的数据,就需要考虑使用抓包工具,找到我们需要的数据包
1.2 F12抓包,寻找数据包。
?
????????全部包都看了一遍,发现没有我们需要的包,那么数据跑哪去了呢?我尝试着,先清除数据包,然后点击下一页,果然,存在数据的包出现了,所以如果你也遇到过这种问题,不要急。
????????类似这种首页无法抓取的网页,或者看不到包的网页,不妨试试看文中的“以退为进,投机取巧”方法,说不定有妙用 。
1.3查看数据包的URL和是否有传递的参数
?1.4编写代码
????????OK,思路已经理顺,找到了数据包的url和传递的参数,下面就是编写代码,值得注意的是,在编写代码的时候,需要为请求头加上防盗链。
# -*- coding: utf-8 -*-
# @Author : 代码永不报错
# @File : 爱企查.py
import requests
def main(key_word, num):
params = {
"q": key_word,
"t": "",
"p": num,
"s": "10",
"o": "0",
"f": "{}"
}
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Safari/537.36",
"Referer": "https://aiqicha.baidu.com/s?q=%E6%95%B0%E6%8D%AE&t=0" # 防盗链
}
url = "https://aiqicha.baidu.com/s/advanceFilterAjax"
response = requests.get(url, headers=headers, params=params)
# print(response.json())
resultList = response.json()["data"]["resultList"]
for item in resultList:
print(item)
if __name__ == '__main__':
key_word = "科技" # 搜索公司
num = "2" # 页码
main(key_word, num)
????????针对本文中的网页,除了文章在抓包时,找不到,而使用了这种“投机取巧”方法外,用selenium抓取也是可行的,速度慢一些,但是可以满足要求。小编相信肯定还有其他的方法的,也欢迎大家在评论区谏言。
?
|