相关疑难解决方法(0)

Scrapy,在Javascript中抓取数据

scrapy用来屏蔽网站上的数据.但是,我想要的数据不在html本身内部,而是来自javascript.所以,我的问题是:

如何获取此类案例的值(文本值)?

这是我试图筛选的网站:https: //www.mcdonalds.com.sg/locate-us/

我想要的属性:地址,联系方式,营业时间.

如果您在Chrome浏览器中执行"右键单击","查看源代码",您将看到HTML中无法使用此类值.


编辑

Sry paul,我做了你告诉我的事情,找到admin-ajax.php并看到了身体但是,我现在真的被困住了.

如何从json对象中检索值并将其存储到我自己的变量字段中?如果您可以分享如何为公众和刚刚开始scrapy的人分享一个属性,那将是一件好事.

到目前为止,这是我的代码

Items.py

class McDonaldsItem(Item):
name = Field()
address = Field()
postal = Field()
hours = Field()
Run Code Online (Sandbox Code Playgroud)

McDonalds.py

from scrapy.spider import BaseSpider
from scrapy.selector import HtmlXPathSelector
import re

from fastfood.items import McDonaldsItem

class McDonaldSpider(BaseSpider):
name = "mcdonalds"
allowed_domains = ["mcdonalds.com.sg"]
start_urls = ["https://www.mcdonalds.com.sg/locate-us/"]

def parse_json(self, response):

    js = json.loads(response.body)
    pprint.pprint(js)
Run Code Online (Sandbox Code Playgroud)

Sry进行长时间编辑,简而言之,我如何将json值存储到我的属性中?例如

***项目['地址'] =*如何检索****

PS,不确定这是否有帮助,但是,我使用cmd行运行这些脚本

scrapy crawl mcdonalds -o McDonalds.json -t json(将我的所有数据保存到json文件中)

我不能强调我的感激之情.我知道问你这个是不合理的,即使你没有时间这个也完全没问题.

python screen-scraping scrapy

22
推荐指数
2
解决办法
2万
查看次数

标签 统计

python ×1

scrapy ×1

screen-scraping ×1