会员可以在此提问,百战程序员老师有问必答
对大家有帮助的问答会被标记为“推荐”
看完课程过来浏览一下别人提的问题,会帮你学得更全面
截止目前,同学们一共提了 132358个问题

2020-03-14 16:33:59 [scrapy.utils.log] INFO: Scrapy 2.0.0 started (bot: rockstone)
2020-03-14 16:33:59 [scrapy.utils.log] INFO: Versions: lxml 4.5.0.0, libxml2 2.9.5, cssselect 1.1.0, parsel 1.5.2, w3lib 1.21.0, Twisted 19.10.0, Python 3.7.6 (tags/v3.7.6:43364
a7ae0, Dec 19 2019, 00:42:30) [MSC v.1916 64 bit (AMD64)], pyOpenSSL 19.1.0 (OpenSSL 1.1.1d  10 Sep 2019), cryptography 2.8, Platform Windows-10-10.0.18362-SP0
2020-03-14 16:33:59 [scrapy.utils.log] DEBUG: Using reactor: twisted.internet.selectreactor.SelectReactor
2020-03-14 16:33:59 [scrapy.crawler] INFO: Overridden settings:
{'BOT_NAME': 'rockstone',
 'NEWSPIDER_MODULE': 'rockstone.spiders',
 'ROBOTSTXT_OBEY': True,
 'SPIDER_MODULES': ['rockstone.spiders']}
2020-03-14 16:33:59 [scrapy.extensions.telnet] INFO: Telnet Password: 12ce7d6c067a2499
2020-03-14 16:33:59 [scrapy.middleware] INFO: Enabled extensions:
['scrapy.extensions.corestats.CoreStats',
 'scrapy.extensions.telnet.TelnetConsole',
 'scrapy.extensions.logstats.LogStats']
2020-03-14 16:33:59 [scrapy.middleware] INFO: Enabled downloader middlewares:
['scrapy.downloadermiddlewares.robotstxt.RobotsTxtMiddleware',
 'scrapy.downloadermiddlewares.httpauth.HttpAuthMiddleware',
 'scrapy.downloadermiddlewares.downloadtimeout.DownloadTimeoutMiddleware',
 'scrapy.downloadermiddlewares.defaultheaders.DefaultHeadersMiddleware',
 'scrapy.downloadermiddlewares.useragent.UserAgentMiddleware',
 'scrapy.downloadermiddlewares.retry.RetryMiddleware',
 'scrapy.downloadermiddlewares.redirect.MetaRefreshMiddleware',
 'scrapy.downloadermiddlewares.httpcompression.HttpCompressionMiddleware',
 'scrapy.downloadermiddlewares.redirect.RedirectMiddleware',
 'scrapy.downloadermiddlewares.cookies.CookiesMiddleware',
 'scrapy.downloadermiddlewares.httpproxy.HttpProxyMiddleware',
 'scrapy.downloadermiddlewares.stats.DownloaderStats']
2020-03-14 16:33:59 [scrapy.middleware] INFO: Enabled spider middlewares:
['scrapy.spidermiddlewares.httperror.HttpErrorMiddleware',
 'scrapy.spidermiddlewares.offsite.OffsiteMiddleware',
 'scrapy.spidermiddlewares.referer.RefererMiddleware',
 'scrapy.spidermiddlewares.urllength.UrlLengthMiddleware',
 'scrapy.spidermiddlewares.depth.DepthMiddleware']
2020-03-14 16:33:59 [scrapy.middleware] INFO: Enabled item pipelines:
[]
2020-03-14 16:33:59 [scrapy.core.engine] INFO: Spider opened
2020-03-14 16:33:59 [scrapy.extensions.logstats] INFO: Crawled 0 pages (at 0 pages/min), scraped 0 items (at 0 items/min)
2020-03-14 16:33:59 [scrapy.extensions.telnet] INFO: Telnet console listening on 127.0.0.1:6023
2020-03-14 16:33:59 [scrapy.core.engine] DEBUG: Crawled (200) <GET http://www.baidu.com/robots.txt> (referer: None)
2020-03-14 16:33:59 [scrapy.downloadermiddlewares.robotstxt] DEBUG: Forbidden by robots.txt: <GET http://www.baidu.com/>
2020-03-14 16:33:59 [scrapy.core.engine] INFO: Closing spider (finished)
2020-03-14 16:33:59 [scrapy.statscollectors] INFO: Dumping Scrapy stats:
{'downloader/exception_count': 1,
 'downloader/exception_type_count/scrapy.exceptions.IgnoreRequest': 1,
 'downloader/request_bytes': 223,
 'downloader/request_count': 1,
 'downloader/request_method_count/GET': 1,
 'downloader/response_bytes': 676,
 'downloader/response_count': 1,
 'downloader/response_status_count/200': 1,
 'elapsed_time_seconds': 0.350322,
 'finish_reason': 'finished',
 'finish_time': datetime.datetime(2020, 3, 14, 8, 33, 59, 677262),
 'log_count/DEBUG': 2,
 'log_count/INFO': 10,
 'response_received_count': 1,
 'robotstxt/forbidden': 1,
 'robotstxt/request_count': 1,
 'robotstxt/response_count': 1,
 'robotstxt/response_status_count/200': 1,
 'scheduler/dequeued': 1,
 'scheduler/dequeued/memory': 1,
 'scheduler/enqueued': 1,
 'scheduler/enqueued/memory': 1,
 'start_time': datetime.datetime(2020, 3, 14, 8, 33, 59, 326940)}
2020-03-14 16:33:59 [scrapy.core.engine] INFO: Spider closed (finished)

老师 我这个按照百度那个测试     没有返回的html信息

Python 全系列/第十五阶段:Python 爬虫开发/移动端爬虫开发- 1006楼
Python 全系列/第十五阶段:Python 爬虫开发/移动端爬虫开发- 1007楼
Python 全系列/第十五阶段:Python 爬虫开发/移动端爬虫开发- 1008楼

老师,这是我爬取京东联盟的源码,由于爬取所有的商品信息,例如牙膏有23749这是理论数据值,

理论数据量.png但是实际爬取发现,当爬取到9500条时数据便替换成了其他的数据,如下图,但是我换了另外一个ip进行测试,发现当我从96页开始请求(一页一百条数据),同样也不是牙膏的商品数据,不知道到到底是理论数据不对的问题,还是遭遇了特别的反爬虫,只有牙膏和牙刷数据不对,其他的数据是没有问题(总共有五种商品),具体信息看附件

牙膏1.png然后面试跟我反馈有以下几点问题:

  1. 说我的爬取没有使用价格区分(这里没有理解他的意思)

  2. 牙膏和牙刷数据不全(这里就是上面的那个问题)

  3. 爬取的逻辑不对


解决方法我只能针对第三个问题进行改进,如采用scrapy-redis进行爬取,效率更高,由于没有form_data表单中的searchUUID没有更改(可能是这被反爬了),所以可以更改searchUUID,但是这些理论上只是不完美,逻辑问题上想不出其他的问题。

恳请老师指点!谢谢!

口腔护理.txt

漱口水.txt

牙膏2.txt

牙膏.txt

牙线棒.txt

牙刷.txt

requests
json
time

url=headers={
: ,
: ,
: ,
: ,
:,
:,
:,
:,
:,
:,
:,
:,
:,
:,
:,
:,
}
cat3ids=[,,,,]name={
    :,
    :,
    :,
    :,
    :}
proxy=[,
,
,
,
,
,
,
,
,
]
cat3id cat3ids:
    (.format(name[(cat3id)]))
    payload_data={:,:,:,:{:,:,:cat3id,:,:,:,:,:,:,:,:,:,:}}
    resp=requests.post(url,=json.dumps(payload_data),=headers,={:proxy[]})
    totalCount=resp.json()[][][]f=(.format(name[(cat3id)]),,=)
    i (totalCount//):
        (.format(i+))  payload_data1 = {: i+, : , : ,
                        : {: , : , : cat3id, : ,
                                 : , : , : , : , : , : ,
                                 : , : , : }}
        resp = requests.post(url, =json.dumps(payload_data1), =headers,={:proxy[]})
        contents=resp.json()[][]
        content contents:
            skuname=content[][]
            count=content[][]
            f.write(.format(,,name[(cat3id)],skuname,count))

        time.sleep()
()
    time.sleep()
    payload_data2 = {: (totalCount//)+, : totalCount%, : ,
                     : {: , : , : cat3id, : ,
                              : , : , : , : , : , : ,
                              : , : , : }}
    resp = requests.post(url, =json.dumps(payload_data2), =headers,={:proxy[]})
    contents2 = resp.json()[][]
    content2 contents2:
        skuname2 = content2[][]
        count2 = content2[][]
        f.write(.format(, , name[(cat3id)], skuname2, count2))
    f.close()


Python 全系列/第十五阶段:Python 爬虫开发/动态数据抓取 1009楼

from urllib.request import Request,build_opener,HTTPCookieProcessor
from urllib.parse import urlencode
from fake_useragent import UserAgent
from http.cookiejar import MozillaCookieJar
import ssl
def get_cookie():
    url = 'https://rl.mail.qq.com/cgi-bin/getinvestigate?sid=ucPJvMl86d29Q1wC'
    headers={
        'User-Agent':UserAgent().chrome
    }
    data = {
        'user': '523531642',
        'password': '*********'
    }
    context = ssl._create_unverified_context()
    res = Request(url,headers=headers,data=urlencode(data).encode())
    cookiejar = MozillaCookieJar()
    handler = HTTPCookieProcessor(cookiejar)
    opener = build_opener(handler)
    resp = opener.open(res)
    cookiejar.save('cookie.text',ignore_discard=True,ignore_expires=True)
def use_cookie():
    info_url='https://mail.qq.com'
    headers = {
        'User-Agent': UserAgent().chrome
    }
    context = ssl._create_unverified_context()
    res = Request(info_url, headers=headers, data=urlencode(headers).encode())
    cookiejar = MozillaCookieJar()
    cookiejar.load('cookie.text',ignore_expires=True,ignore_discard=True)
    handler = HTTPCookieProcessor(cookiejar)
    opener = build_opener(handler)
    resp = opener.open(res)
    print(resp.read())
if __name__ == '__main__':
    get_cookie()
    #use_cookie()

老师这个qq邮箱是https   我保存的的cookie文件为什么不行

是登录的url有问题吗?老师我的代码有问题吗?

# Netscape HTTP Cookie File
# http://curl.haxx.se/rfc/cookie_spec.html
# This is a generated file!  Do not edit.

.mail.qq.com   TRUE   /  FALSE     qm_sk  
.mail.qq.com   TRUE   /  FALSE     qm_ssum    
.qq.com    TRUE   /  FALSE     qm_sk  
.qq.com    TRUE   /  FALSE     qm_ssum


Python 全系列/第十五阶段:Python 爬虫开发/scrapy框架使用(旧) 1010楼

老师,能不能帮下忙,这是我的一个面试题,实在不知道怎么解决了

https://data.weibo.com/index/newindex?visit_type=trend&wid=1091324264913&dateGroup=3month

要访问这个地址获取中间搜索词为病毒的30天数据,但是他的web端关闭了,只能在手机端上去解决,但是手机端又有ajax请求我实在是解决不了了,拜托拜托

Python 全系列/第十五阶段:Python 爬虫开发/爬虫数据存储 1011楼

bizhi1.zip

老师麻烦,帮我看看到底哪里出问题了,我这个只能下载第一页图片,第二页就下不下来了,也不报错

image.png

只下了第一页的21张图,麻烦帮忙看看?

Python 全系列/第十五阶段:Python 爬虫开发/scrapy 框架高级 1016楼
Python 全系列/第十五阶段:Python 爬虫开发/分布式爬虫 1017楼
Python 全系列/第十五阶段:Python 爬虫开发/分布式爬虫 1018楼
Python 全系列/第十五阶段:Python 爬虫开发/爬虫基础(旧) 1019楼

课程分类

百战程序员微信公众号

百战程序员微信小程序

©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园
网站维护:百战汇智(北京)科技有限公司
京公网安备 11011402011233号    京ICP备18060230号-3    营业执照    经营许可证:京B2-20212637