Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/342.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 抓取ASPX网站不工作-抓取了31页(31页/分钟),抓取了0项(0项/分钟)_Python_Asp.net_Scrapy - Fatal编程技术网

Python 抓取ASPX网站不工作-抓取了31页(31页/分钟),抓取了0项(0项/分钟)

Python 抓取ASPX网站不工作-抓取了31页(31页/分钟),抓取了0项(0项/分钟),python,asp.net,scrapy,Python,Asp.net,Scrapy,我试图刮一个ASP网站,其中包含。 在网站中,用户应该从下拉列表中选择一个城镇: 选择此选项后,用户的结果将返回到同一页面的底部: 出于某种原因,scrapy似乎在网站上爬行,但没有返回任何内容: [scrapy.core.engine] DEBUG: Crawled (200) <POST https://www.police.gov.il/mapskifout.aspx> (referer: https://www.police.gov.il/mapskifout.aspx)

我试图刮一个ASP网站,其中包含。 在网站中,用户应该从下拉列表中选择一个城镇:

选择此选项后,用户的结果将返回到同一页面的底部:

出于某种原因,scrapy似乎在网站上爬行,但没有返回任何内容:

[scrapy.core.engine] DEBUG: Crawled (200) <POST https://www.police.gov.il/mapskifout.aspx> (referer: https://www.police.gov.il/mapskifout.aspx)
[scrapy.extensions.logstats] INFO: Crawled 31 pages (at 31 pages/min), scraped 0 items (at 0 items/min)

任何提示都将不胜感激并提前感谢

如果您通过它发送的请求来查找数据来自哪里,您将发现它来自以下链接:
因此,通过指定年份和城市代码您将获得所需数据。
但是你怎么能得到城市代码呢?
城市代码存在于主页源代码的脚本部分,因此您可以按如下方式获取:

导入请求
导入json
进口稀土
基本url=https://www.police.gov.il/MapSkifoutService?' \
‘城市=%(城市)s&street=&房屋=&主题=1,2,10,11&季度=1,2,3&年度=%(年度)’
s=请求。会话()
res=s.post('https://www.police.gov.il/mapskifout.aspx')
codes=re.findall('itemData):(.*),',res.content.decode('utf-8'))[0]+“]
json_code=json.loads(代码)
对于json_代码中的城镇:
json_response=json.loads(s.post(base_url%{'city':town['value'],'year':'2019'})
.content.decode('utf-8'))
打印(json_响应['Stats'])
样本输出为:

[{'Title': 'נתוני עבירות פליליות', 'GroupId': 1, 'Statistics': [{'Id': 1, 'Subject': 'גניבה מתוך רכב', 'CountFact': 2, 'CountFact2': 0}, {'Id': 2, 'Subject': 'גניבת רכב         ', 'CountFact': 10, 'CountFact2': 0}, {'Id': 10, 'Subject': 'התפרצות לדירות', 'CountFact': 2, 'CountFact2': 0}, {'Id': 11, 'Subject': 'התפרצות לבתי עסק ומוסדות', 'CountFact': 2, 'CountFact2': 0}], 'CountTikia': 16, 'SummaryTitle': 'סה"כ תיקי חקירה שנפתחו באזור הנבחר', 'sougTitle': 'סוג עבירה', 'countTitle': 'כמות עבירות', 'CountTikia2': 0}]
[{'Title': 'נתוני עבירות פליליות', 'GroupId': 1, 'Statistics': [{'Id': 1, 'Subject': 'גניבה מתוך רכב', 'CountFact': 4, 'CountFact2': 0}, {'Id': 2, 'Subject': 'גניבת רכב         ', 'CountFact': 10, 'CountFact2': 0}, {'Id': 10, 'Subject': 'התפרצות לדירות', 'CountFact': 16, 'CountFact2': 0}, {'Id': 11, 'Subject': 'התפרצות לבתי עסק ומוסדות', 'CountFact': 5, 'CountFact2': 0}], 'CountTikia': 35, 'SummaryTitle': 'סה"כ תיקי חקירה שנפתחו באזור הנבחר', 'sougTitle': 'סוג עבירה', 'countTitle': 'כמות עבירות', 'CountTikia2': 0}]
[{'Title': 'נתוני עבירות פליליות', 'GroupId': 1, 'Statistics': [{'Id': 1, 'Subject': 'גניבה מתוך רכב', 'CountFact': 9, 'CountFact2': 0}, {'Id': 2, 'Subject': 'גניבת רכב         ', 'CountFact': 12, 'CountFact2': 0}, {'Id': 10, 'Subject': 'התפרצות לדירות', 'CountFact': 17, 'CountFact2': 0}, {'Id': 11, 'Subject': 'התפרצות לבתי עסק ומוסדות', 'CountFact': 4, 'CountFact2': 0}], 'CountTikia': 40, 'SummaryTitle': 'סה"כ תיקי חקירה שנפתחו באזור הנבחר', 'sougTitle': 'סוג עבירה', 'countTitle': 'כמות עבירות', 'CountTikia2': 0}]

谢谢!我在json代码中将for循环更改为
for town:
,并将formdata更改为
“ctl00$ctl00$ContentPlaceMain$contentPageMain$TownComboBox”:town.get(“value”)
,但它似乎仍然不起作用。我发现我缺少了另一个东西…我得到了它,我做了一些更新,看看它。问题是Scrapy不支持JavaScript。你可以像上面提到的那样通过
请求来做,或者如果你想用Scrapy来做,试试看
[{'Title': 'נתוני עבירות פליליות', 'GroupId': 1, 'Statistics': [{'Id': 1, 'Subject': 'גניבה מתוך רכב', 'CountFact': 2, 'CountFact2': 0}, {'Id': 2, 'Subject': 'גניבת רכב         ', 'CountFact': 10, 'CountFact2': 0}, {'Id': 10, 'Subject': 'התפרצות לדירות', 'CountFact': 2, 'CountFact2': 0}, {'Id': 11, 'Subject': 'התפרצות לבתי עסק ומוסדות', 'CountFact': 2, 'CountFact2': 0}], 'CountTikia': 16, 'SummaryTitle': 'סה"כ תיקי חקירה שנפתחו באזור הנבחר', 'sougTitle': 'סוג עבירה', 'countTitle': 'כמות עבירות', 'CountTikia2': 0}]
[{'Title': 'נתוני עבירות פליליות', 'GroupId': 1, 'Statistics': [{'Id': 1, 'Subject': 'גניבה מתוך רכב', 'CountFact': 4, 'CountFact2': 0}, {'Id': 2, 'Subject': 'גניבת רכב         ', 'CountFact': 10, 'CountFact2': 0}, {'Id': 10, 'Subject': 'התפרצות לדירות', 'CountFact': 16, 'CountFact2': 0}, {'Id': 11, 'Subject': 'התפרצות לבתי עסק ומוסדות', 'CountFact': 5, 'CountFact2': 0}], 'CountTikia': 35, 'SummaryTitle': 'סה"כ תיקי חקירה שנפתחו באזור הנבחר', 'sougTitle': 'סוג עבירה', 'countTitle': 'כמות עבירות', 'CountTikia2': 0}]
[{'Title': 'נתוני עבירות פליליות', 'GroupId': 1, 'Statistics': [{'Id': 1, 'Subject': 'גניבה מתוך רכב', 'CountFact': 9, 'CountFact2': 0}, {'Id': 2, 'Subject': 'גניבת רכב         ', 'CountFact': 12, 'CountFact2': 0}, {'Id': 10, 'Subject': 'התפרצות לדירות', 'CountFact': 17, 'CountFact2': 0}, {'Id': 11, 'Subject': 'התפרצות לבתי עסק ומוסדות', 'CountFact': 4, 'CountFact2': 0}], 'CountTikia': 40, 'SummaryTitle': 'סה"כ תיקי חקירה שנפתחו באזור הנבחר', 'sougTitle': 'סוג עבירה', 'countTitle': 'כמות עבירות', 'CountTikia2': 0}]