提交了一下代码,老师您看一下
from urllib.request import Request,urlopen from fake_useragent import UserAgent from urllib.parse import urlencode url = "http://dhwy-test.saikul.com/dhwy/auth/login" headers = {"User-Agent":UserAgent().random} data = {"username":"test","password":"789"} requ = Request(url,headers=headers,data=urlencode(data).encode()) resp = urlopen(requ) print(resp.read().decode())
老师帮忙看下这个报错问题,我查了下百度尝试在headers中加
"Content-type":"application/json;charset=utf-8" 然后直接报错400
老师,我给大家避个雷,我今天按照老师的代码一直测试,一直报错:No module named 'scrapy.contrib'卸载安装了这个模块都不行!最后只是将settings里面
ITEM_PIPELINES = { : }
修改成
我真是找了N长时间,我以为是python解释器出问题了,而是scrapy-1.6.0已删除scrapy.contrib耽误了居多时间在这里
老师,这里这个__index__与初始化方法__init__有什么不同呢。我网上找了资料发现关于这个的很少。所以请教您一下
from fake_useragent import UserAgent import re import requests from bs4 import BeautifulSoup from time import sleep def get_html(url): ''' :param url: 要爬取的地址 :return: 返回html ''' headers = {"User_Agent": UserAgent().random} resp = requests.get(url,headers=headers) #status_code 返回状态码 if resp.status_code == 200: resp.encoding='utf-8' return resp.text else: return None def parse_list(html): ''' :param html: 传递进来有一个电影列表的的html :return: 返回一个电影的url ''' soup = BeautifulSoup(html,'lxml') a_list = soup.select(".book-img-box > a") list_url = [] for a in a_list: list_url.append(a.get('href')) # 解决验证CA # ssl._create_default_https_context = ssl._create_unverified_context list_url = ['https:{}'.format(url)for url in list_url] return list_url def parse_index(html): ''' :param html: 传递一个有电影信息的html :return: 已经提取好的电影信息 ''' soup = BeautifulSoup(html,'lxml') name = soup.find('h1','em') book = soup.find_all("a", class_="writer")[0].text return {'作者':name,'书名':book} def main(): num = int(input("请输入要获取多少页:")) for page in range(num): url = 'https://www.qidian.com/all?&page={}'.format(page+1) list_html = get_html(url) list_url = parse_list(list_html) for url in list_url: info_html = get_html(url) move = parse_index(info_html) print(move) if __name__ == '__main__': main()
老师,我这个匹配到h1下面的em标签啊,我网上也查了,也用calss匹配过。最后返回要么空,要么是错误的。
from fake_useragent import UserAgent import ssl import requests from lxml import etree from time import sleep def get_html(url): ''' :param url: 要爬取的地址 :return: 返回html ''' headers = {"User_Agent": UserAgent().random} resp = requests.get(url,headers=headers) #status_code 返回状态码 if resp.status_code == 200: resp.encoding='utf-8' return resp.text else: return None def parse_list(html): ''' :param html: 传递进来有一个电影列表的的html :return: 返回一个电影的url ''' e = etree.HTML(html) # 解决验证CA # ssl._create_default_https_context = ssl._create_unverified_context list_url = ['https://www.qidian.com{}'.format(url)for url in e.xpath('//div[@class="book-img-box"]/a/@href')] return list_url def parse_index(html): ''' :param html: 传递一个有电影信息的html :return: 已经提取好的电影信息 ''' e = etree.HTML(html) name = e.xpath('//div/h1/span/a/text()') return name def main(): num = int(input("请输入要获取多少页:")) for page in range(num): url = 'https://www.qidian.com/all?&page={}'.format(page+1) list_html = get_html(url) list_url = parse_list(list_html) for url in list_url: info_html = get_html(url) move = parse_index(info_html) print(move) if __name__ == '__main__': main()
老师,您帮我看一下,为什么我这个最后返回的是空列表啊,我debug看了一下是这个出问题了。返回了空值,但是我使用插件看了看没问题啊
name = e.xpath('//div/h1/span/a/text()')
老师请问这个如何解决,网上搜索的方法行不通
老师,是不是pycharm或者python版本不一样啊,我这边的不是视频的网址,而是百度的,我随便加了几个数字,pycharm直接会将错误信息打印出来!!!
老师,这个是不是先掌握从网页提取的Cookie,然后账号密码的那个后面是不是还有一些其他手段爬取,因为我这个试了好多个网址,账号密码现在的都登录不上去
老师,为什么我这个里有两个User-Agent,这个是不是意味着不在提供伪装。
from urllib.request import urlopen,Request from fake_useragent import UserAgent url = " ua = UserAgent(verify_ssl=False) headers = { "User_Agent":ua.random } reuquest = Request(url,headers=headers) resp = urlopen(reuquest) info = resp.read().decode() print(info)
问题如下:
如何爬取每个城市的数字编号?
网址:51job招聘网
要爬出这种结果:如何爬?
老师您好,我现在导入ssl模块里面的ssl._create_unverified_dontext()函数,但是提示我没有这个模块。还是说python3.7版本以后取消了,并且我直接能抓取到12306的网址信息
那比如没有腾讯VIP能爬取到VIP视频内容吗?这个算黑客技术还是爬虫?
这种情况是怎么回事?
老师,能不能把您的课件整理一下,默认打开的setting什么的,这样看课件真的很费劲。
老师,这里为什么要用列表呢?是image_urls这个字段强制要求的格式么?
非常抱歉给您带来不好的体验!为了更深入的了解您的学习情况以及遇到的问题,您可以直接拨打投诉热线:
我们将在第一时间处理好您的问题!
关于
课程分类
百战程序员微信公众号
百战程序员微信小程序
©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园网站维护:百战汇智(北京)科技有限公司 京公网安备 11011402011233号 京ICP备18060230号-3 营业执照 经营许可证:京B2-20212637