python continue outside loop_【经验讨论】python的requests请求参数为None出错

[Python] 纯文本查看 复制代码import jsonimport re

import requests

from urllib.parse import urlencode

from bs4 import BeautifulSoup

from requests.exceptions import RequestException

def get_page_index(offset,keyword):

data = {

'offset': offset,

'format': 'json',

'keyword': keyword,

'autoload':'true',

'ount': '20',

'cur_tab': 1 ,

'from':'search_tab'

}

url = 'https://www.toutiao.com/search_content/?' + urlencode(data)

response = requests.get(url)

try:

if response.status_code ==200:

return response.text

return None

except RequestException:

print('get failed!')

return None

def parse_ge_index(html):

data = json.loads(html)

if data and 'data' in data.keys():

for item in data.get('data'):

yield item.get('article_url')

def get_page_detail(url):

if url == 'http://None':

return None

response = requests.get(url)

if response.status_code == 200:

return response.text

return None

def parse_page_detail(html):

soup = BeautifulSoup(html,'lxml')

title = soup.select('title')[0].get_text()

image_pattern = re.compile('gallery: JSON.parse(.*?);',re.S)

result = re.search(image_pattern,html)

if result:

print(result.group(1))

def main():

html = get_page_index(0,'街拍')

for url in parse_ge_index(html):

print(url)

html = get_page_detail(url)

if __name__ == '__main__':

main()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Pythonrequests库可以通过以下方式发送请求参数: 1. GET请求参数:可以通过在URL中添加查询字符串的方式传递参数,也可以通过params参数传递参数。 2. POST请求参数:可以通过data参数传递表单数据,也可以通过json参数传递JSON数据。 3. 文件上传:可以通过files参数上传文件。 4. 自定义请求头:可以通过headers参数设置请求头。 5. 超时设置:可以通过timeout参数设置请求超时时间。 6. SSL证书验证:可以通过verify参数设置是否验证SSL证书。 7. 代理设置:可以通过proxies参数设置代理服务器。 8. Cookie设置:可以通过cookies参数设置请求的Cookie。 9. Session会话:可以通过Session对象来保持会话状态。 ### 回答2: Pythonrequests 库是一个非常强大的 HTTP 客户端,它允许方便地向服务器发送请求和接收服务器响应。在 requests 中,我们可以通过构建请求参数来实现对服务器的请求操作。 requests 常用的 HTTP 请求方法有 GET、POST、PUT、DELETE 等,其中 GET 和 POST 是最常用的。以 GET 请求为例,在 requests 中,请求参数通常包括: 1. url:请求的网址。这是一个必须参数。可以是一个字符串,也可以是一个 urllib.parse.url对象。例如: ``` import requests url = 'https://www.baidu.com' response = requests.get(url) ``` 2. params:请求参数(字典或字节流格式),这些参数会被自动地添加到 URL 后面。例如: ``` import requests url = 'https://www.baidu.com' param = {'key1': 'value1', 'key2': 'value2'} response = requests.get(url, params=params) ``` 3. headers:请求头信息,包含请求的 User-Agent、Cookie、Referer、Accept-Encoding 等参数。例如: ``` import requests url = 'https://www.baidu.com' headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3', 'Connection': 'keep-alive' } response = requests.get(url, headers=headers) ``` 4. timeout:设置请求的超时时间,单位为秒,一旦请求超过设置的时间没有得到响应则抛出异常。例如: ``` import requests url = 'https://www.baidu.com' timeout = 5 response = requests.get(url, timeout=timeout) ``` 以上就是 requests 请求参数的一些常用内容。需要注意的是,应该根据服务器的返回类型选择正确的解析方法,并且需要根据实际需求来设置请求头信息和请求超时时间等参数,以保证请求的正常完成。 ### 回答3: 在使用 Python 中的 requests 库发送 HTTP 请求时,可以使用请求参数来设置请求的一些特定属性。请求参数可以通过以下方式设置: 1. URL 参数:在 URL 中添加一些参数,例如 `example.com/?key=value`,这些参数可以通过 `requests.get` 函数的 `params` 参数传递。 2. HTTP 头部:可以添加自定义的 HTTP 头部信息,例如 `User-Agent`,这些头部可以通过 `requests.get` 函数的 `headers` 参数传递。 3. 请求体数据:在 POST 请求中可以设置请求体数据,例如表单数据或 JSON 数据,这些数据可以通过 `requests.post` 函数的 `data` 或 `json` 参数传递。 4. Cookies:可以携带 Cookies 信息发送请求,这些 Cookies 可以通过 `requests.get` 函数的 `cookies` 参数传递。 5. 代理:可以使用代理服务器发送请求,这些代理可以通过 `requests.get` 函数的 `proxies` 参数传递。 6. 超时时间:可以设置请求超时时间,以防止请求一直等待或卡住程序,这个超时时间可以通过 `requests.get` 函数的 `timeout` 参数传递。 7. SSL 验证:可以设置是否验证 SSL 证书,这个 SSL 验证可以通过 `requests.get` 函数的 `verify` 参数传递。 总之,请求参数是用来控制请求行为的一种手段,在实际的请求中,可以根据不同的需求来设置不同的请求参数。在 requests 库中,提供了丰富的请求参数,使用起来非常方便。同时也需要注意一些安全问题,例如 Cookies 的安全性和 SSL 证书的验证等等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值