红唇如刀 发表于 2020-7-4 08:59:47

关于两个问题的求助

本帖最后由 红唇如刀 于 2020-7-4 09:36 编辑

尝试一个简易的爬虫时,遇到两个问题,求助所有路过的鱼友

问题1:为什么我在请求的时候,如果带上headers,会提示错误:
         如果我把headers去掉后,就可以正常使用?我想在请求的时候带上headers应该如何实现?

问题2:我需要的是图中标红的信息,我自己的代码中的倒数第二句没有效果,如何用代码实现?

      





import requests
import os
from bs4 import BeautifulSoup

url = "https://xuangubao.cn/theme/17006066"
headers ={ 'User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.163 Safari/537.36' }
path = (r'C:\Users\Administrator\Desktop\\')

file_html = requests.get(url,headers = headers)
demo = file_html.text
soup = BeautifulSoup(demo,'html.parser')

name =soup.title.text.split(' |')+'.txt'
file_name =path +name
with open(file_name,'w',encoding= 'utf-8')as f:
    f.writelines(demo)
print('已在桌面生成%s文件'%(name))

code =soup.body.text.split('".ss"')
print(code)




请各位鱼友出手相助!

Twilight6 发表于 2020-7-4 08:59:48

红唇如刀 发表于 2020-7-4 09:19
版主您好:
      第二个问题应该如何解决啊

这个不怎么了解了,抱歉帮不到你了

Twilight6 发表于 2020-7-4 09:03:23



问题1:为什么我在请求的时候,如果带上headers,会提示错误:
         如果我把headers去掉后,就可以正常使用?我想在请求的时候带上headers应该如何实现?
headers 是字典格式的, 你写成了 集合
错误:
headers ={ 'User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.163 Safari/537.36' }
正确:
headers ={ 'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.163 Safari/537.36' }


红唇如刀 发表于 2020-7-4 09:08:31

Twilight6 发表于 2020-7-4 09:03
headers 是字典格式的, 你写成了 集合

谢谢帮助。可是我看你回复的信息里面,错误的写法和正确的写法是一模一样的啊

Twilight6 发表于 2020-7-4 09:08:58

红唇如刀 发表于 2020-7-4 09:08
谢谢帮助。可是我看你回复的信息里面,错误的写法和正确的写法是一模一样的啊

不认真了兄弟你认真看下单引号

红唇如刀 发表于 2020-7-4 09:11:16

Twilight6 发表于 2020-7-4 09:03
headers 是字典格式的, 你写成了 集合

噢噢噢噢,注意到了区别,谢谢谢谢

红唇如刀 发表于 2020-7-4 09:19:32

Twilight6 发表于 2020-7-4 09:08
不认真了兄弟你认真看下单引号

版主您好:
      第二个问题应该如何解决啊

红唇如刀 发表于 2020-7-4 09:55:41

Twilight6 发表于 2020-7-4 09:37
这个不怎么了解了,抱歉帮不到你了

好的,谢谢您

WylLy 发表于 2020-7-4 10:20:18

第二个问题:
看的指的图里的网址根本不是url的地址,你解析的位置就不对

红唇如刀 发表于 2020-7-4 10:29:42

如果我不从网站上截取,直接从下载好的本地文件中截取,可不可以?要如何实现?

红唇如刀 发表于 2020-7-4 10:30:50

WylLy 发表于 2020-7-4 10:20
第二个问题:
看的指的图里的网址根本不是url的地址,你解析的位置就不对


如果我不从网站上截取,直接从下载好的本地文件中截取,可不可以?要如何实现?如图所示

johnnyb 发表于 2020-7-4 10:49:57

从图中看,你要的字段是在请求头文件里面的path 这个是你发送的请求. 是自己设置的. 你得找到来源. 这里不是来源.

WylLy 发表于 2020-7-4 10:51:07

红唇如刀 发表于 2020-7-4 10:30
如果我不从网站上截取,直接从下载好的本地文件中截取,可不可以?要如何实现?如图所示

你要做的是把文件处理成标准的json文件或者字典或者列表

红唇如刀 发表于 2020-7-4 10:56:16

johnnyb 发表于 2020-7-4 10:49
从图中看,你要的字段是在请求头文件里面的path 这个是你发送的请求. 是自己设置的. 你得找到来源. 这里不是 ...

好的,谢谢指导

红唇如刀 发表于 2020-7-4 11:07:02

WylLy 发表于 2020-7-4 10:51
你要做的是把文件处理成标准的json文件或者字典或者列表

好的,能不能举个正确代码写法的例子?

小小的石头 发表于 2020-7-4 11:08:57

headers写错了,应该是字典{"":""}这种样式的

红唇如刀 发表于 2020-7-4 11:15:39

小小的石头 发表于 2020-7-4 11:08
headers写错了,应该是字典{"":""}这种样式的

谢谢,已经修改
页: [1]
查看完整版本: 关于两个问题的求助