- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 Scrapy 获取 URLs of images on a page ID HERO_PHOTO
。目标元素具有以下 HTML 代码
<img alt="Photo of Gray Line" style="position: relative; left: -50px; top: 0px;" id="HERO_PHOTO" class="flexibleImage" src="https://media-cdn.tripadvisor.com/media/photo-s/04/71/70/7c/gray-line-tours-montreal.jpg" width="352" height="260">
在 Chrome 浏览器中运行
$('#HERO_PHOTO').attr('src')
正确抓取URL
"https://media-cdn.tripadvisor.com/media/photo-s/04/71/70/7c/gray-line-tours-montreal.jpg"
<小时/>
问题:但是在 Scrapy 中使用以下 CSS 选择器,
response.css('#HERO_PHOTO::attr(src)').extract_first()
和
response.css('#HERO_PHOTO').xpath('@src').extract_first()
和
response.css('#HERO_PHOTO[src]').extract_first()
给我们
https://static.tacdn.com/img2/x.gif
使用.extract()
也返回了相同的错误 URL。
为什么 Scrapy 会获取不同的 SRC 值?
最佳答案
图片链接在页面中,但不是直接像 <img>
标签。确实有一些JavaScript代码进行了处理。HTML 中有一个 JavaScript 片段,其中包含您想要的图像链接(稍微重新格式化):
...
}(window,ta));
</script>
<script type="text/javascript">
var lazyImgs = [{
"data": "//maps.google.com/maps/api/staticmap?&channel=ta.desktop&zoom=15&size=340x225&client=gme-tripadvisorinc&sensor=falselanguageParam¢er=45.503395,-73.573174&maptype=roadmap&&markers=icon:http%3A%2F%2Fc1.tacdn.com%2Fimg2%2Fmaps%2Ficons%2Fpin_v2_CurrentCenter.png|45.503395,-73.57317&signature=FqI7Z1egbpsVrlEE0yjw9HmsMJ8=",
"scroll": false,
"tagType": "img",
"id": "lazyload_1098682971_0",
"priority": 500,
"logerror": false
}, {
"data": "//ad.atdmt.com/i/img;p=11007200799198;cache=?ord=1475487471489",
"scroll": false,
"tagType": "img",
"id": "lazyload_1098682971_1",
"priority": 1000,
"logerror": false
}, {
"data": "//ad.doubleclick.net/ad/N4764.TripAdvisor/B7050081;sz=1x1?ord=1475487471489",
"scroll": false,
"tagType": "img",
"id": "lazyload_1098682971_2",
"priority": 1000,
"logerror": false
}, {
"data": "https://static.tacdn.com/img2/maps/icons/spinner24.gif",
"scroll": false,
"tagType": "img",
"id": "lazyload_1098682971_3",
"priority": 100,
"logerror": false
}, {
"data": "https://media-cdn.tripadvisor.com/media/photo-s/04/71/70/7c/gray-line-tours-montreal.jpg",
"scroll": false,
"tagType": "img",
"id": "HERO_PHOTO",
"priority": 100,
"logerror": false
}, {
"data": "https://media-cdn.tripadvisor.com/media/photo-s/0c/f5/19/98/montreal-night-tour.jpg",
"scroll": false,
"tagType": "img",
"id": "THUMB_PHOTO1",
"priority": 100,
"logerror": false
}, {
"data": "https://media-cdn.tripadvisor.com/media/photo-s/0c/f5/19/8f/montreal-night-tour.jpg",
"scroll": false,
"tagType": "img",
"id": "THUMB_PHOTO2",
"priority": 100,
"logerror": false
}, {
"data": "https://static.tacdn.com/img2/generic/site/no_user_photo-v1.gif",
"scroll": false,
"tagType": "img",
"id": "lazyload_1098682971_4",
"priority": 100,
"logerror": false
}...
解析此问题的一种方法是使用 js2xml
:
from pprint import pprint
# get all `<script>`s content
for js in response.xpath('.//script[@type="text/javascript"]/text()').extract():
try:
jstree = js2xml.parse(js)
# look for assignment of `var lazyImgs`
for imgs in jstree.xpath('//var[@name="lazyImgs"]/*'):
# use js2xml.make_dict() -- poor name I know
# to build a useful Python object
data = js2xml.make_dict(imgs)
pprint(data)
break
except Exception as e:
pass
这就是你得到的结果:
[{'data': '//maps.google.com/maps/api/staticmap?&channel=ta.desktop&zoom=15&size=340x225&client=gme-tripadvisorinc&sensor=falselanguageParam¢er=45.503395,-73.573174&maptype=roadmap&&markers=icon:http%3A%2F%2Fc1.tacdn.com%2Fimg2%2Fmaps%2Ficons%2Fpin_v2_CurrentCenter.png|45.503395,-73.57317&signature=FqI7Z1egbpsVrlEE0yjw9HmsMJ8=',
'id': 'lazyload_-1977833463_0',
'logerror': False,
'priority': 500,
'scroll': False,
'tagType': 'img'},
{'data': 'https://static.tacdn.com/img2/maps/icons/spinner24.gif',
'id': 'lazyload_-1977833463_1',
'logerror': False,
'priority': 100,
'scroll': False,
'tagType': 'img'},
{'data': 'https://media-cdn.tripadvisor.com/media/photo-s/04/71/70/7c/gray-line-tours-montreal.jpg',
'id': 'HERO_PHOTO',
'logerror': False,
'priority': 100,
'scroll': False,
'tagType': 'img'},
{'data': 'https://media-cdn.tripadvisor.com/media/photo-s/0c/f5/19/98/montreal-night-tour.jpg',
'id': 'THUMB_PHOTO1',
'logerror': False,
'priority': 100,
'scroll': False,
'tagType': 'img'},
{'data': 'https://media-cdn.tripadvisor.com/media/photo-s/0c/f5/19/8f/montreal-night-tour.jpg',
'id': 'THUMB_PHOTO2',
'logerror': False,
'priority': 100,
'scroll': False,
'tagType': 'img'},
{'data': 'https://static.tacdn.com/img2/generic/site/no_user_photo-v1.gif',
'id': 'lazyload_-1977833463_2',
'logerror': False,
'priority': 100,
'scroll': False,
'tagType': 'img'},
{'data': 'https://media-cdn.tripadvisor.com/media/photo-l/08/38/19/cb/gayle-h.jpg',
'id': 'lazyload_-1977833463_3',
'logerror': False,
'priority': 100,
'scroll': True,
'tagType': 'img'},
{'data': 'https://static.tacdn.com/img2/badges/20px/lvl_01.png',
'id': 'lazyload_-1977833463_4',
'logerror': False,
'priority': 100,
'scroll': True,
'tagType': 'img'},
{'data': 'https://static.tacdn.com/img2/badges/20px/rev_02.png',
'id': 'lazyload_-1977833463_5',
'logerror': False,
'priority': 100,
'scroll': True,
'tagType': 'img'},
{'data': 'https://static.tacdn.com/img2/badges/20px/Appreciated.png',
'id': 'lazyload_-1977833463_6',
'logerror': False,
'priority': 100,
'scroll': False,
'tagType': 'img'},
{'data': 'https://static.tacdn.com/img2/icons/gray_flag.png',
'id': 'lazyload_-1977833463_7',
'logerror': False,
'priority': 100,
'scroll': True,
'tagType': 'img'},
{'data': 'https://media-cdn.tripadvisor.com/media/photo-l/01/b1/32/93/holidays1958.jpg',
'id': 'lazyload_-1977833463_8',
'logerror': False,
'priority': 100,
'scroll': True,
'tagType': 'img'},
{'data': 'https://static.tacdn.com/img2/badges/20px/lvl_04.png',
'id': 'lazyload_-1977833463_9',
'logerror': False,
'priority': 100,
'scroll': True,
'tagType': 'img'},
{'data': 'https://static.tacdn.com/img2/badges/20px/rev_04.png',
'id': 'lazyload_-1977833463_10',
'logerror': False,
'priority': 100,
'scroll': True,
'tagType': 'img'},
{'data': 'https://static.tacdn.com/img2/badges/20px/FunLover.png',
'id': 'lazyload_-1977833463_11',
'logerror': False,
'priority': 100,
'scroll': True,
'tagType': 'img'},
{'data': 'https://static.tacdn.com/img2/badges/20px/Appreciated.png',
'id': 'lazyload_-1977833463_12',
'logerror': False,
'priority': 100,
'scroll': False,
'tagType': 'img'},
{'data': 'https://static.tacdn.com/img2/icons/gray_flag.png',
'id': 'lazyload_-1977833463_13',
'logerror': False,
'priority': 100,
'scroll': True,
'tagType': 'img'},
{'data': 'https://media-cdn.tripadvisor.com/media/photo-o/06/4d/bc/f6/disneybus.jpg',
'id': 'lazyload_-1977833463_14',
'logerror': False,
'priority': 100,
'scroll': True,
'tagType': 'img'},
{'data': 'https://static.tacdn.com/img2/badges/20px/lvl_06.png',
'id': 'lazyload_-1977833463_15',
'logerror': False,
'priority': 100,
'scroll': True,
'tagType': 'img'},
{'data': 'https://static.tacdn.com/img2/badges/20px/rev_06.png',
'id': 'lazyload_-1977833463_16',
'logerror': False,
'priority': 100,
'scroll': True,
'tagType': 'img'},
{'data': 'https://static.tacdn.com/img2/badges/20px/FunLover.png',
'id': 'lazyload_-1977833463_17',
'logerror': False,
'priority': 100,
'scroll': True,
'tagType': 'img'},
{'data': 'https://static.tacdn.com/img2/badges/20px/Appreciated.png',
'id': 'lazyload_-1977833463_18',
'logerror': False,
'priority': 100,
'scroll': False,
'tagType': 'img'},
{'data': 'https://static.tacdn.com/img2/icons/gray_flag.png',
'id': 'lazyload_-1977833463_19',
'logerror': False,
'priority': 100,
'scroll': True,
'tagType': 'img'},
{'data': 'https://media-cdn.tripadvisor.com/media/photo-l/01/2e/70/a7/avatar078.jpg',
'id': 'lazyload_-1977833463_20',
'logerror': False,
'priority': 100,
'scroll': True,
'tagType': 'img'},
{'data': 'https://static.tacdn.com/img2/badges/20px/rev_01.png',
'id': 'lazyload_-1977833463_21',
'logerror': False,
'priority': 100,
'scroll': True,
'tagType': 'img'},
{'data': 'https://static.tacdn.com/img2/badges/20px/Appreciated.png',
'id': 'lazyload_-1977833463_22',
'logerror': False,
'priority': 100,
'scroll': False,
'tagType': 'img'},
{'data': 'https://static.tacdn.com/img2/icons/gray_flag.png',
'id': 'lazyload_-1977833463_23',
'logerror': False,
'priority': 100,
'scroll': True,
'tagType': 'img'},
{'data': 'https://media-cdn.tripadvisor.com/media/photo-l/01/2e/70/9f/avatar070.jpg',
'id': 'lazyload_-1977833463_24',
'logerror': False,
'priority': 100,
'scroll': True,
'tagType': 'img'},
{'data': 'https://static.tacdn.com/img2/badges/20px/lvl_02.png',
'id': 'lazyload_-1977833463_25',
'logerror': False,
'priority': 100,
'scroll': True,
'tagType': 'img'},
{'data': 'https://static.tacdn.com/img2/badges/20px/rev_03.png',
'id': 'lazyload_-1977833463_26',
'logerror': False,
'priority': 100,
'scroll': True,
'tagType': 'img'},
{'data': 'https://static.tacdn.com/img2/badges/20px/Appreciated.png',
'id': 'lazyload_-1977833463_27',
'logerror': False,
'priority': 100,
'scroll': False,
'tagType': 'img'},
{'data': 'https://static.tacdn.com/img2/icons/gray_flag.png',
'id': 'lazyload_-1977833463_28',
'logerror': False,
'priority': 100,
'scroll': True,
'tagType': 'img'},
{'data': 'https://media-cdn.tripadvisor.com/media/photo-l/03/9f/a6/94/facebook-avatar.jpg',
'id': 'lazyload_-1977833463_29',
'logerror': False,
'priority': 100,
'scroll': True,
'tagType': 'img'},
{'data': 'https://static.tacdn.com/img2/badges/20px/lvl_04.png',
'id': 'lazyload_-1977833463_30',
'logerror': False,
'priority': 100,
'scroll': True,
'tagType': 'img'},
{'data': 'https://static.tacdn.com/img2/badges/20px/rev_05.png',
'id': 'lazyload_-1977833463_31',
'logerror': False,
'priority': 100,
'scroll': True,
'tagType': 'img'},
{'data': 'https://static.tacdn.com/img2/badges/20px/FunLover.png',
'id': 'lazyload_-1977833463_32',
'logerror': False,
'priority': 100,
'scroll': True,
'tagType': 'img'},
{'data': 'https://static.tacdn.com/img2/badges/20px/Appreciated.png',
'id': 'lazyload_-1977833463_33',
'logerror': False,
'priority': 100,
'scroll': False,
'tagType': 'img'},
{'data': 'https://static.tacdn.com/img2/icons/gray_flag.png',
'id': 'lazyload_-1977833463_34',
'logerror': False,
'priority': 100,
'scroll': True,
'tagType': 'img'},
{'data': 'https://media-cdn.tripadvisor.com/media/photo-l/06/f3/32/86/complsv.jpg',
'id': 'lazyload_-1977833463_35',
'logerror': False,
'priority': 100,
'scroll': True,
'tagType': 'img'},
{'data': 'https://static.tacdn.com/img2/badges/20px/lvl_04.png',
'id': 'lazyload_-1977833463_36',
'logerror': False,
'priority': 100,
'scroll': True,
'tagType': 'img'},
{'data': 'https://static.tacdn.com/img2/badges/20px/rev_05.png',
'id': 'lazyload_-1977833463_37',
'logerror': False,
'priority': 100,
'scroll': True,
'tagType': 'img'},
{'data': 'https://static.tacdn.com/img2/badges/20px/FunLover.png',
'id': 'lazyload_-1977833463_38',
'logerror': False,
'priority': 100,
'scroll': True,
'tagType': 'img'},
{'data': 'https://static.tacdn.com/img2/badges/20px/Appreciated.png',
'id': 'lazyload_-1977833463_39',
'logerror': False,
'priority': 100,
'scroll': False,
'tagType': 'img'},
{'data': 'https://static.tacdn.com/img2/icons/gray_flag.png',
'id': 'lazyload_-1977833463_40',
'logerror': False,
'priority': 100,
'scroll': True,
'tagType': 'img'},
{'data': 'https://media-cdn.tripadvisor.com/media/photo-l/05/f2/4d/68/christine-n.jpg',
'id': 'lazyload_-1977833463_41',
'logerror': False,
'priority': 100,
'scroll': True,
'tagType': 'img'},
{'data': 'https://static.tacdn.com/img2/badges/20px/lvl_03.png',
'id': 'lazyload_-1977833463_42',
'logerror': False,
'priority': 100,
'scroll': True,
'tagType': 'img'},
{'data': 'https://static.tacdn.com/img2/badges/20px/rev_04.png',
'id': 'lazyload_-1977833463_43',
'logerror': False,
'priority': 100,
'scroll': True,
'tagType': 'img'},
{'data': 'https://static.tacdn.com/img2/badges/20px/FunLover.png',
'id': 'lazyload_-1977833463_44',
'logerror': False,
'priority': 100,
'scroll': True,
'tagType': 'img'},
{'data': 'https://static.tacdn.com/img2/badges/20px/Appreciated.png',
'id': 'lazyload_-1977833463_45',
'logerror': False,
'priority': 100,
'scroll': False,
'tagType': 'img'},
{'data': 'https://static.tacdn.com/img2/icons/gray_flag.png',
'id': 'lazyload_-1977833463_46',
'logerror': False,
'priority': 100,
'scroll': True,
'tagType': 'img'},
{'data': 'https://media-cdn.tripadvisor.com/media/photo-l/01/2e/70/80/avatar001.jpg',
'id': 'lazyload_-1977833463_47',
'logerror': False,
'priority': 100,
'scroll': True,
'tagType': 'img'},
{'data': 'https://static.tacdn.com/img2/badges/20px/lvl_03.png',
'id': 'lazyload_-1977833463_48',
'logerror': False,
'priority': 100,
'scroll': True,
'tagType': 'img'},
{'data': 'https://static.tacdn.com/img2/badges/20px/rev_04.png',
'id': 'lazyload_-1977833463_49',
'logerror': False,
'priority': 100,
'scroll': True,
'tagType': 'img'},
{'data': 'https://static.tacdn.com/img2/badges/20px/FunLover.png',
'id': 'lazyload_-1977833463_50',
'logerror': False,
'priority': 100,
'scroll': True,
'tagType': 'img'},
{'data': 'https://static.tacdn.com/img2/badges/20px/Appreciated.png',
'id': 'lazyload_-1977833463_51',
'logerror': False,
'priority': 100,
'scroll': False,
'tagType': 'img'},
{'data': 'https://static.tacdn.com/img2/icons/gray_flag.png',
'id': 'lazyload_-1977833463_52',
'logerror': False,
'priority': 100,
'scroll': True,
'tagType': 'img'},
{'data': 'https://media-cdn.tripadvisor.com/media/photo-l/0a/45/46/e2/tracey-g.jpg',
'id': 'lazyload_-1977833463_53',
'logerror': False,
'priority': 100,
'scroll': True,
'tagType': 'img'},
{'data': 'https://static.tacdn.com/img2/badges/20px/lvl_06.png',
'id': 'lazyload_-1977833463_54',
'logerror': False,
'priority': 100,
'scroll': True,
'tagType': 'img'},
{'data': 'https://static.tacdn.com/img2/badges/20px/rev_06.png',
'id': 'lazyload_-1977833463_55',
'logerror': False,
'priority': 100,
'scroll': True,
'tagType': 'img'},
{'data': 'https://static.tacdn.com/img2/badges/20px/FunLover.png',
'id': 'lazyload_-1977833463_56',
'logerror': False,
'priority': 100,
'scroll': True,
'tagType': 'img'},
{'data': 'https://static.tacdn.com/img2/badges/20px/Appreciated.png',
'id': 'lazyload_-1977833463_57',
'logerror': False,
'priority': 100,
'scroll': False,
'tagType': 'img'},
{'data': 'https://static.tacdn.com/img2/icons/gray_flag.png',
'id': 'lazyload_-1977833463_58',
'logerror': False,
'priority': 100,
'scroll': True,
'tagType': 'img'},
{'data': 'https://media-cdn.tripadvisor.com/media/photo-f/02/6d/40/b2/montreal-amphi-bus-tour.jpg',
'id': 'lazyload_-1977833463_59',
'logerror': False,
'priority': 100,
'scroll': True,
'tagType': 'img'},
{'data': 'https://media-cdn.tripadvisor.com/media/photo-l/01/39/2d/43/old-montreal-walking.jpg',
'id': 'lazyload_-1977833463_60',
'logerror': False,
'priority': 100,
'scroll': True,
'tagType': 'img'},
{'data': 'https://media-cdn.tripadvisor.com/media/photo-l/06/df/96/c7/excursions-montreal-private.jpg',
'id': 'lazyload_-1977833463_61',
'logerror': False,
'priority': 100,
'scroll': True,
'tagType': 'img'},
{'data': 'https://media-cdn.tripadvisor.com/media/photo-l/02/ad/57/0a/filename-p1010076-jpg.jpg',
'id': 'lazyload_-1977833463_62',
'logerror': False,
'priority': 100,
'scroll': True,
'tagType': 'img'},
{'data': 'https://media-cdn.tripadvisor.com/media/photo-o/04/b5/6a/8d/ali-l.jpg',
'id': 'lazyload_-1977833463_63',
'logerror': False,
'priority': 100,
'scroll': True,
'tagType': 'img'},
{'data': 'https://media-cdn.tripadvisor.com/media/photo-l/01/2e/70/87/avatar008.jpg',
'id': 'lazyload_-1977833463_64',
'logerror': False,
'priority': 100,
'scroll': True,
'tagType': 'img'},
{'data': 'https://media-cdn.tripadvisor.com/media/photo-o/06/8a/c5/7d/leonard-d.jpg',
'id': 'lazyload_-1977833463_65',
'logerror': False,
'priority': 100,
'scroll': True,
'tagType': 'img'},
{'data': 'https://media-cdn.tripadvisor.com/media/photo-o/05/6d/32/ca/rpm13111.jpg',
'id': 'lazyload_-1977833463_66',
'logerror': False,
'priority': 100,
'scroll': True,
'tagType': 'img'},
{'data': 'https://media-cdn.tripadvisor.com/media/photo-l/01/2e/70/87/avatar008.jpg',
'id': 'lazyload_-1977833463_67',
'logerror': False,
'priority': 100,
'scroll': True,
'tagType': 'img'},
{'data': 'https://static.tacdn.com/img2/neighborhood/icon_hood_white.png',
'id': 'lazyload_-1977833463_68',
'logerror': False,
'priority': 100,
'scroll': True,
'tagType': 'img'},
{'data': 'https://media-cdn.tripadvisor.com/media/oyster/500/08/5b/34/b0/sherbrooke-street-west-shopping--.jpg',
'id': 'lazyload_-1977833463_69',
'logerror': False,
'priority': 100,
'scroll': True,
'tagType': 'img'},
{'data': 'https://static.tacdn.com/img2/maps/icons/icon_mapControl_expand_idle_30x30.png',
'id': 'lazyload_-1977833463_70',
'logerror': False,
'priority': 100,
'scroll': True,
'tagType': 'img'},
{'data': 'https://static.tacdn.com/img2/maps/icons/icon_mapControl_expand_hover_30x30.png',
'id': 'lazyload_-1977833463_71',
'logerror': False,
'priority': 100,
'scroll': True,
'tagType': 'img'},
{'data': 'https://media-cdn.tripadvisor.com/media/photo-l/01/a1/f2/6b/marche-atwater.jpg',
'id': 'lazyload_-1977833463_72',
'logerror': False,
'priority': 100,
'scroll': True,
'tagType': 'img'},
{'data': 'https://media-cdn.tripadvisor.com/media/photo-l/01/41/78/a3/mcgill-university-lower.jpg',
'id': 'lazyload_-1977833463_73',
'logerror': False,
'priority': 100,
'scroll': True,
'tagType': 'img'},
{'data': 'https://media-cdn.tripadvisor.com/media/photo-l/04/06/16/08/musee-grevin.jpg',
'id': 'lazyload_-1977833463_74',
'logerror': False,
'priority': 100,
'scroll': True,
'tagType': 'img'},
{'data': 'https://media-cdn.tripadvisor.com/media/photo-l/03/4a/9a/85/laurie-raphael.jpg',
'id': 'lazyload_-1977833463_75',
'logerror': False,
'priority': 100,
'scroll': True,
'tagType': 'img'},
{'data': 'https://media-cdn.tripadvisor.com/media/photo-l/09/45/53/16/cafe-humble-lion.jpg',
'id': 'lazyload_-1977833463_76',
'logerror': False,
'priority': 100,
'scroll': True,
'tagType': 'img'},
{'data': 'https://media-cdn.tripadvisor.com/media/photo-l/03/2f/37/03/essence.jpg',
'id': 'lazyload_-1977833463_77',
'logerror': False,
'priority': 100,
'scroll': True,
'tagType': 'img'},
{'data': 'https://static.tacdn.com/img2/branding/logo_with_tagline.png',
'id': 'LOGOTAGLINE',
'logerror': False,
'priority': 100,
'scroll': True,
'tagType': 'img'},
{'data': 'https://static.tacdn.com/img2/icons/bell.png',
'id': 'lazyload_-1977833463_78',
'logerror': False,
'priority': 100,
'scroll': True,
'tagType': 'img'}]
关于python - Scrapy提取错误的IMG SRC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39817067/
在一个 scrapy 项目中,人们经常使用中间件。在交互式 session 期间是否也有一种通用方法可以在 scrapy shell 中启用中间件? 最佳答案 尽管如此,在 setting.py 中设
我想对网页中向下滚动生成的内容进行反向工程。问题出在url https://www.crowdfunder.com/user/following_page/80159?user_id=80159&li
我需要帮助将相对URL转换为Scrapy Spider中的绝对URL。 我需要将起始页面上的链接转换为绝对URL,以获取起始页面上已草稿的项目的图像。我尝试使用不同的方法来实现此目标失败,但是我陷入了
我在 Scrapy Python 中制作了一个脚本,它在几个月内一直运行良好(没有更改)。最近,当我在 Windows Powershell 中执行脚本时,它引发了下一个错误: scrapy craw
我已经从 docker 启动了 splash。我为 splash 和 scrapy 创建了大的 lua 脚本,然后它运行我看到了问题: Lua error: error in __gc metamet
我正在使用scrapy 来抓取网站,但发生了不好的事情(断电等)。 我想知道我怎样才能从它坏了的地方继续爬行。我不想从种子开始。 最佳答案 这可以通过将预定的请求持久化到磁盘来完成。 scrapy c
有人可以向我解释一下 Scrapy 中的暂停/恢复功能是如何实现的吗?作品? scrapy的版本我正在使用的是 0.24.5 documentation没有提供太多细节。 我有以下简单的蜘蛛: cla
我想将 apscheduler 与 scrapy.but 我的代码是错误的。 我应该如何修改它? settings = get_project_settings() configure_logging
我正在抓取一个网站并解析一些内容和图像,但即使对于 100 页左右的简单网站,完成这项工作也需要数小时。我正在使用以下设置。任何帮助将不胜感激。我已经看过这个问题- Scrapy 's Scrapyd
我正在抓取一个网站并解析一些内容和图像,但即使对于 100 页左右的简单网站,完成这项工作也需要数小时。我正在使用以下设置。任何帮助将不胜感激。我已经看过这个问题- Scrapy 's Scrapyd
我是爬行新手,想知道是否可以使用 Scrapy 逐步爬行网站,例如 CNBC.com?例如,如果今天我从一个站点抓取所有页面,那么从明天开始我只想收集新发布到该站点的页面,以避免抓取所有旧页面。 感谢
我是scrapy的新手。我正在尝试从 here 下载图像.我在关注 Official-Doc和 this article . 我的 settings.py 看起来像: BOT_NAME = 'shop
我在使用 scrapy 时遇到了一些问题。它没有返回任何结果。我试图将以下蜘蛛复制并粘贴到 scrapy shell 中,它确实有效。真的不确定问题出在哪里,但是当我用“scrapy crawl rx
如何使用 Scrapy 抓取多个 URL? 我是否被迫制作多个爬虫? class TravelSpider(BaseSpider): name = "speedy" allowed_d
当我使用splash渲染整个目标页面来爬取整个网站时出现问题。某些页面不是随机成功的,所以我错误地获取了支持渲染工作完成后出现的信息。这意味着我尽管我可以从其他渲染结果中获取全部信息,但仅从渲染结果中
如何使用 Scrapy 抓取多个 URL? 我是否被迫制作多个爬虫? class TravelSpider(BaseSpider): name = "speedy" allowed_d
我的scrapy程序无论如何只使用一个CPU内核CONCURRENT_REQUESTS我做。 scrapy中的某些方法是否可以在一个scrapy爬虫中使用所有cpu核心? ps:好像有争论max_pr
我最近用 python 和 Selenium 做了一个网络爬虫,我发现它做起来非常简单。该页面使用 ajax 调用来加载数据,最初我等待固定的 time_out 来加载页面。这工作了一段时间。之后,我
我想用这个命令运行 scrapy 服务器: scrapy server 它失败了,因为没有项目。然后我创建一个空项目来运行服务器,并成功部署另一个项目。但是,scrapy 服务器无法处理这个项目,并告
我正在创建一个网络应用程序,用于从不同网站抓取一长串鞋子。这是我的两个单独的 scrapy 脚本: http://store.nike.com/us/en_us/pw/mens-clearance-s
我是一名优秀的程序员,十分优秀!