鱼C论坛

 找回密码
 立即注册
查看: 139|回复: 11

[已解决]python爬虫

[复制链接]
发表于 2022-5-14 10:47:53 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
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,'爬取完毕!!!')


想知道输入关键词之后没有得到相应的内容?求大佬指教
最佳答案
2022-5-14 11:52:31
杨清玄 发表于 2022-5-14 11:39
是这样的,运行代码,弹出输入提示框,输入想输入的关键词(比如:胡歌),回车运行之后呢,会将搜索胡歌的 ...


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

参考代码:

  1. import requests

  2. keyword = input('请输入您需要搜索的key word:')
  3. headers = {
  4.     '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'
  5. }
  6. params ={
  7.     'query':keyword
  8. }

  9. url = 'https://www.sogou.com/web?'
  10. response = requests.get(url=url,params=params,headers=headers)
  11. response.encoding = 'utf-8'
  12. page_text = response.text
  13. # print(page_text)
  14. fileName = keyword+'.html'
  15. with open(fileName,'w',encoding='utf-8') as f:
  16.     f.write(page_text)
  17. print(fileName,'爬取完毕!!!')
复制代码
1.png
2.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2022-5-14 11:00:09 | 显示全部楼层
内容在 生成的html里了,打开看一下就知道了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2022-5-14 11:03:12 | 显示全部楼层


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

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2022-5-14 11:04:21 | 显示全部楼层
suchocolate 发表于 2022-5-14 11:00
内容在 生成的html里了,打开看一下就知道了。

打开就是第二张图
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2022-5-14 11:04:53 | 显示全部楼层
Twilight6 发表于 2022-5-14 11:03
执行代码之后在当前目录下就能找到这个文件

找到了,也打开了,就是第二张图片
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2022-5-14 11:19:55 | 显示全部楼层
杨清玄 发表于 2022-5-14 11:04
打开就是第二张图

那这就结果了,详细的可用txt编辑器打开这个html,看里面的代码。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2022-5-14 11:24:34 | 显示全部楼层
杨清玄 发表于 2022-5-14 11:04
找到了,也打开了,就是第二张图片



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

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

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2022-5-14 11:39:35 | 显示全部楼层
Twilight6 发表于 2022-5-14 11:24
你是说在打开的页面输入关键字没反应吗?

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

是这样的,运行代码,弹出输入提示框,输入想输入的关键词(比如:胡歌),回车运行之后呢,会将搜索胡歌的内容保存为html,打开文件格式为html就是搜索的内容
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2022-5-14 11:41:41 | 显示全部楼层
suchocolate 发表于 2022-5-14 11:19
那这就结果了,详细的可用txt编辑器打开这个html,看里面的代码。

不应该才对的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2022-5-14 11:52:31 | 显示全部楼层    本楼为最佳答案   
杨清玄 发表于 2022-5-14 11:39
是这样的,运行代码,弹出输入提示框,输入想输入的关键词(比如:胡歌),回车运行之后呢,会将搜索胡歌的 ...


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

参考代码:

  1. import requests

  2. keyword = input('请输入您需要搜索的key word:')
  3. headers = {
  4.     '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'
  5. }
  6. params ={
  7.     'query':keyword
  8. }

  9. url = 'https://www.sogou.com/web?'
  10. response = requests.get(url=url,params=params,headers=headers)
  11. response.encoding = 'utf-8'
  12. page_text = response.text
  13. # print(page_text)
  14. fileName = keyword+'.html'
  15. with open(fileName,'w',encoding='utf-8') as f:
  16.     f.write(page_text)
  17. print(fileName,'爬取完毕!!!')
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2022-5-14 13:12:14 | 显示全部楼层
Twilight6 发表于 2022-5-14 11:52
你的 params keyword 改成 query ,然后你把 keyword 变量用引号引起来了

参考代码:

改为query,但是keyword不用引号就可以了。多谢大佬
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2022-5-14 13:16:51 | 显示全部楼层
Twilight6 发表于 2022-5-14 11:52
你的 params keyword 改成 query ,然后你把 keyword 变量用引号引起来了

参考代码:

大佬,想再问个问题,如果url换成百度的,将query改成了wq,却返回不了搜索的,这个问题有什么办法吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1

GMT+8, 2022-5-25 15:05

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表