杨清玄 发表于 2022-5-14 10:47:53

python爬虫

import requests
keyword = input('请输入您需要搜索的key word:')
headers = {
    'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.54 Safari/537.36'
}
params ={
    'keys':'keyword'
}
url = 'https://www.sogou.com/web?'
response = requests.get(url=url,params=params,headers=headers)
response.encoding = 'utf-8'
page_text = response.text
# print(page_text)
fileName = keyword+'.html'
with open(fileName,'w',encoding='utf-8') as f:
    f.write(page_text)
print(fileName,'爬取完毕!!!')


想知道输入关键词之后没有得到相应的内容?求大佬指教

suchocolate 发表于 2022-5-14 11:00:09

内容在 生成的html里了,打开看一下就知道了。

Twilight6 发表于 2022-5-14 11:03:12



执行代码之后在当前目录下就能找到这个文件

杨清玄 发表于 2022-5-14 11:04:21

suchocolate 发表于 2022-5-14 11:00
内容在 生成的html里了,打开看一下就知道了。

打开就是第二张图

杨清玄 发表于 2022-5-14 11:04:53

Twilight6 发表于 2022-5-14 11:03
执行代码之后在当前目录下就能找到这个文件

找到了,也打开了,就是第二张图片

suchocolate 发表于 2022-5-14 11:19:55

杨清玄 发表于 2022-5-14 11:04
打开就是第二张图

那这就结果了,详细的可用txt编辑器打开这个html,看里面的代码。

Twilight6 发表于 2022-5-14 11:24:34

杨清玄 发表于 2022-5-14 11:04
找到了,也打开了,就是第二张图片



你是说在打开的页面输入关键字没反应吗?

那正常,你爬下来的只是简单的 html 没有网页的 css 和 js

杨清玄 发表于 2022-5-14 11:39:35

Twilight6 发表于 2022-5-14 11:24
你是说在打开的页面输入关键字没反应吗?

那正常,你爬下来的只是简单的 html 没有网页的 css 和...

是这样的,运行代码,弹出输入提示框,输入想输入的关键词(比如:胡歌),回车运行之后呢,会将搜索胡歌的内容保存为html,打开文件格式为html就是搜索的内容

杨清玄 发表于 2022-5-14 11:41:41

suchocolate 发表于 2022-5-14 11:19
那这就结果了,详细的可用txt编辑器打开这个html,看里面的代码。

不应该才对的{:10_269:}

Twilight6 发表于 2022-5-14 11:52:31

杨清玄 发表于 2022-5-14 11:39
是这样的,运行代码,弹出输入提示框,输入想输入的关键词(比如:胡歌),回车运行之后呢,会将搜索胡歌的 ...


你的 params keyword 改成 query ,然后你把 keyword 变量用引号引起来了

参考代码:

import requests

keyword = input('请输入您需要搜索的key word:')
headers = {
    'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.54 Safari/537.36'
}
params ={
    'query':keyword
}

url = 'https://www.sogou.com/web?'
response = requests.get(url=url,params=params,headers=headers)
response.encoding = 'utf-8'
page_text = response.text
# print(page_text)
fileName = keyword+'.html'
with open(fileName,'w',encoding='utf-8') as f:
    f.write(page_text)
print(fileName,'爬取完毕!!!')

杨清玄 发表于 2022-5-14 13:12:14

Twilight6 发表于 2022-5-14 11:52
你的 params keyword 改成 query ,然后你把 keyword 变量用引号引起来了

参考代码:

改为query,但是keyword不用引号就可以了。多谢大佬

杨清玄 发表于 2022-5-14 13:16:51

Twilight6 发表于 2022-5-14 11:52
你的 params keyword 改成 query ,然后你把 keyword 变量用引号引起来了

参考代码:

大佬,想再问个问题,如果url换成百度的,将query改成了wq,却返回不了搜索的,这个问题有什么办法吗
页: [1]
查看完整版本: python爬虫